Tipo di dati stringa
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Il string
tipo di dati rappresenta una sequenza di zero o più caratteri Unicode .
Per informazioni sugli operatori di query di stringa, vedere Operatori stringa.
Nota
- Internamente, le stringhe vengono codificate in UTF-8. I caratteri non validi (non UTF8) vengono sostituiti con 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 ha esito positivo. 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. - 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 ha esito positivo. È possibile aumentare laMaxValueSize
proprietà della colonna modificandone i criteri di codifica. - 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
Un valore letterale stringa è una stringa racchiusa tra virgolette. È possibile usare virgolette doppie o virgolette singole per codificare valori letterali stringa nel testo della query. Con virgolette doppie, è necessario eseguire l'escape tra virgolette doppie annidate con una barra rovesciata (\
). Con virgolette singole, è necessario eseguire l'escape dei caratteri virgolette singole annidate e non è necessario eseguire l'escape delle virgolette doppie.
Utilizzare il carattere barra rovesciata per eseguire l'escape tra virgolette, caratteri di tabulazione (\t
), caratteri di nuova riga (\n
) e barra rovesciata (\\
).
Nota
Il carattere di nuova riga (\n
) e il carattere restituito (\r
) devono essere racchiusi tra virgolette, a meno che non vengano utilizzati valori letterali stringa a più righe.
Valori letterali stringa verbatim
I valori letterali stringa verbatim sono valori letterali stringa anteporti al @
carattere , che funge da identificatore verbatim. In questo formato, il carattere barra rovesciata (\
) sta per sé e non è un carattere di escape. Nei valori letterali stringa verbatim, le virgolette doppie vengono precedute da virgolette doppie e le virgolette singole vengono precedute da virgolette singole.
Per un esempio, vedere Stringa verbatim.
Nota
Il carattere di nuova riga (\n
) e il carattere restituito (\r
) devono essere racchiusi tra virgolette, a meno che non vengano utilizzati valori letterali stringa a più righe.
Valori letterali multilinea
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 a più righe.
Nota
- I valori letterali stringa a più righe supportano i caratteri newline (
\n
) e restituiscono (\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 di 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 la telemetria e l'analisi. Per proteggere informazioni riservate come password e segreti, è possibile contrassegnare una stringa come valore letterale stringa offuscato. Queste stringhe contrassegnate vengono registrate in formato offuscato sostituito con asterischi (*
) nel testo della query.
Un valore letterale stringa offuscato viene creato anteponendo un h
carattere o H
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 privata. Etichettare quindi solo la parte privata come offuscata.
Esempi
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 escape barra rovesciata
Nell'esempio seguente viene creato un criterio di espressione regolare usando barre rovesciata 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
L'esempio seguente mostra 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 rovesciata fanno parte del percorso anziché caratteri di escape. A tale scopo, il segno stringa @
viene anteporto alla 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 le nuove righe e le schede per applicare uno stile a un blocco di codice. Per altre informazioni, vedere Valori letterali stringa a più righe.
print program = ```
public class Program {
public static void Main() {
System.Console.WriteLine("Hello!");
}
}```
Output
program |
---|
public class Program { public static void Main() { System.Console.WriteLine("Hello!"); } } |
Valori letterali stringa concatenati
Tutte 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 nei risultati. Nella traccia o nella telemetria, tuttavia, la h
stringa viene archiviata in un formato offuscato e sostituita con asterischi nel log. 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... |