Tipo di dati stringa
Il string
tipo di dati rappresenta una sequenza di zero o più caratteri Unicode .
Per informazioni sugli operatori di query stringa, vedere Operatori stringa.
Nota
- Internamente, le stringhe vengono codificate in UTF-8. I caratteri non validi (non UTF8) vengono sostituiti con i caratteri di sostituzione Unicode U+FFFD in fase di inserimento.
- Kusto non ha alcun tipo di dati equivalente a un singolo carattere. Un singolo carattere è rappresentato come stringa di lunghezza 1.
- Quando si inserisce il
string
tipo di dati, se un singolo valore stringa in un record supera 1 MB (misurato usando la codifica UTF-8), il valore viene troncato e l'inserimento riesce. Se un singolo valore stringa in un record o l'intero record supera il limite di dati consentito di 64 MB, l'inserimento ha esito negativo.
string
Valori letterali
È possibile usare virgolette doppie o virgolette singole per codificare valori letterali stringa nel testo della query. Con virgolette doppie, è necessario uscire da caratteri di virgolette doppie nidificate con una barra rovesciata (\
). Con virgolette singole, è necessario uscire da virgolette singole annidate e non è necessario eseguire l'escape delle virgolette doppie.
Usare il carattere barra rovesciata per eseguire l'escape tra virgolette racchiuse, caratteri di tabulazione (), caratteri di nuova riga (\n
) e barra rovesciata ().\t
\\
Nota
Il carattere newline () e il carattere restituito (\n
\r
) devono essere racchiusi tra virgolette a meno che non usino valori letterali stringa a più righe.
Valori letterali di stringa verbatim
Sono supportati anche valori letterali stringa verbatim. In questo formato, il carattere barra rovesciata (\
) si trova per se stesso e non è un carattere di escape. Prepending the @
character to string literals funge da identificatore verbatim. Nei valori letterali stringa verbatim, le virgolette doppie vengono escape con virgolette doppie e virgolette singole vengono escape con virgolette singole.
Per un esempio, vedere Stringa verbatim.
Nota
Il carattere newline () e il carattere restituito (\n
\r
) devono essere racchiusi tra virgolette a meno che non usino valori letterali stringa a più righe.
Valori letterali stringa a più righe
Indicare valori letterali stringa a più righe in base a un "triplo backtick chord" ('') all'inizio e alla fine del valore letterale.
Per un esempio, vedere Valore letterale stringa multilinea.
Nota
- I valori letterali stringa a più righe supportano i caratteri newline () e restituiti (
\n
\r
). - I valori letterali stringa a più righe non supportano caratteri di escape. Simile ai valori letterali stringa verbatim.
- I valori letterali stringa a più righe non supportano l'offuscamento.
Concatenazione dei valori letterali stringa separati
In una query Kusto, quando due o più valori letterali stringa adiacenti non hanno alcuna separazione tra di essi, vengono combinati automaticamente per formare un nuovo valore letterale stringa. Analogamente, se i valori letterali stringa sono separati solo da spazi vuoti o commenti, vengono combinati anche per formare un nuovo valore letterale stringa.
Per un esempio, vedere Valori letterali stringa concatenati.
Valori letterali stringa offuscati
Le query vengono archiviate per i dati di telemetria e l'analisi. Per proteggere le informazioni riservate, ad esempio password e segreti, è possibile contrassegnare una stringa come valore letterale stringa offuscato. Queste stringhe contrassegnate vengono sostituite con asterischi (*
) nel testo della query.
Un valore letterale stringa offuscato viene creato in attesa di un h
carattere o H
di un carattere davanti a un valore letterale stringa standard o verbatim.
Per un esempio, vedere Valore letterale stringa offuscata.
Importante
Contrassegnare tutti i valori letterali stringa contenenti informazioni segrete come valori letterali stringa offuscati.
Suggerimento
In alcune situazioni, solo una parte del valore letterale stringa contiene informazioni segrete. In questi casi, dividere il valore letterale in una parte non segreta e una parte segreta. Etichettare quindi solo la parte privata come offuscata.
Esempio
Valore letterale stringa con virgolette
Nell'esempio seguente viene illustrato come usare virgolette all'interno di valori letterali stringa inclusi tra virgolette singole e virgolette doppie. Per altre informazioni, vedere Valori letterali stringa.
print
s1 = 'string with "double quotes"',
s2 = "string with 'single quotes'"
Output
s1 | s2 |
---|---|
stringa con "virgolette doppie" | stringa con 'virgolette singole' |
Valore letterale stringa con barra rovesciata in uscita
Nell'esempio seguente viene creato un modello di espressione regolare usando barre rovesciate per eseguire l'escape di caratteri speciali. Per altre informazioni, vedere Valori letterali stringa.
print pattern = '\\n.*(>|\'|=|\")[a-zA-Z0-9/+]{86}=='
Output
pattern |
---|
\n.*(>|'|=|") [a-zA-Z0-9/+]{86}= = |
Valore letterale stringa con Unicode
Nell'esempio seguente viene illustrato che è necessaria una barra rovesciata per includere un carattere Unicode in un valore letterale stringa.
print space = "Hello\u00A0World"
Output
space |
---|
Hello World |
Valore letterale di stringa verbatim
Nell'esempio seguente viene creato un percorso in cui le barre rovesciate fanno parte del percorso anziché i caratteri di escape. A tale scopo, il segno stringa viene preceduto dalla stringa @
, creando un valore letterale stringa verbatim.
print myPath = @'C:\Folder\filename.txt'
Output
Mypath |
---|
C:\Folder\filename.txt |
Valore letterale stringa a più righe
Nell'esempio seguente viene illustrata la sintassi per un valore letterale stringa a più righe, che usa nuove righe e schede per assegnare uno stile a un blocco di codice. Per altre informazioni, vedere Valori letterali stringa multilinea.
print program = ```
public class Program {
public static void Main() {
System.Console.WriteLine("Hello!");
}
}```
Output
programma |
---|
public class Program { public static void Main() { System.Console.WriteLine("Hello!"); } } |
Valori letterali stringa concatenati
Le espressioni seguenti producono una stringa di lunghezza 13. Per altre informazioni, vedere Concatenazione di valori letterali stringa separati.
print
none = strlen("Hello"', '@"world!"),
whitespace = strlen("Hello" ', ' @"world!"),
whitespaceAndComment = strlen("Hello"
// Comment
', '@"world!"
);
Output
Nessuno | whitespace | whitespaceAndComment |
---|---|---|
13 | 13 | 13 |
Valore letterale stringa offuscato
Nell'output della query seguente la h
stringa è visibile. Tuttavia, nella traccia o nei dati di telemetria, la h
stringa viene sostituita con asterischi. Per altre informazioni, vedere Valori letterali stringa offuscati.
print blob="https://contoso.blob.core.windows.net/container/blob.txt?"
h'sv=2012-02-12&se=2013-04-13T0...'
Output
blob |
---|
https://contoso.blob.core.windows.net/container/blob.txt?sv=2012-02-12& se=2013-04-13T0... |
Contenuti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per