Condividi tramite


Tipo di dati stringa

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft 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 la MaxValueSize 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...