Freigeben über


String-Datentyp

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Der string Datentyp stellt eine Sequenz von null oder mehr Unicode-Zeichen dar.

Informationen zu Zeichenfolgenabfrageoperatoren finden Sie unter Zeichenfolgenoperatoren.

Hinweis

  • Intern werden Zeichenfolgen in UTF-8 codiert. Ungültige Zeichen (non-UTF8) werden bei aufnahmezeit durch U+FFFD Unicode-Ersetzungszeichen ersetzt.
  • Kusto hat keinen Datentyp, der einem einzelnen Zeichen entspricht. Ein einzelnes Zeichen wird als Zeichenfolge der Länge 1 dargestellt.
  • Wenn beim Aufnehmen des string Datentyps ein einzelner Zeichenfolgenwert in einem Datensatz 1 MB (gemessen mit UTF-8-Codierung) überschreitet, wird der Wert abgeschnitten und die Erfassung erfolgreich ausgeführt. Wenn ein einzelner Zeichenfolgenwert in einem Datensatz oder der gesamte Datensatz den zulässigen Datengrenzwert von 64 MB überschreitet, schlägt die Aufnahme fehl.
  • Wenn beim Aufnehmen des string Datentyps ein einzelner Zeichenfolgenwert in einem Datensatz 1 MB (gemessen mit UTF-8-Codierung) überschreitet, wird der Wert abgeschnitten und die Erfassung erfolgreich ausgeführt. Sie können die MaxValueSize Spalte vergrößern, indem Sie die Codierungsrichtlinie ändern.
  • Wenn ein einzelner Zeichenfolgenwert in einem Datensatz oder der gesamte Datensatz den zulässigen Datengrenzwert von 64 MB überschreitet, schlägt die Aufnahme fehl.

string-Literale

Ein Zeichenfolgenliteral ist eine in Anführungszeichen eingeschlossene Zeichenfolge. Sie können doppelte Anführungszeichen oder einfache Anführungszeichen verwenden, um Zeichenfolgenliterale im Abfragetext zu codieren. Bei doppelten Anführungszeichen müssen Sie geschachtelte doppelte Anführungszeichen mit einem umgekehrten Schrägstrich (\) escapen. Bei einfachen Anführungszeichen müssen Sie geschachtelte einfache Anführungszeichen escapen und keine doppelten Anführungszeichen escapen.

Verwenden Sie das umgekehrte Schrägstrichzeichen, um die eingeschlossenen Anführungszeichen, Tabstoppzeichen (), Zeilenumbruchzeichen (\t\n) und den umgekehrten Schrägstrich () zu\\ escapen.

Hinweis

Das Zeilenumbruchzeichen (\n) und das Rückgabezeichen (\r) müssen in Anführungszeichen eingeschlossen werden, es sei denn , es werden mehrzeilige Zeichenfolgenliterale verwendet.

Ausführliche Zeichenfolgeliterale

Verbatim-Zeichenfolgenliterale sind Zeichenfolgenliterale, die @ dem Zeichen vorangestellt sind, das als Verbatimbezeichner dient. In dieser Form steht das umgekehrte Schrägstrichzeichen (\) für sich selbst und ist kein Escapezeichen. In verbatim Zeichenfolgenliteralen werden doppelte Anführungszeichen mit doppelten Anführungszeichen escapet, und einfache Anführungszeichen werden mit einfachen Anführungszeichen escapet.

Ein Beispiel finden Sie unter Verbatim-Zeichenfolge.

Hinweis

Das Zeilenumbruchzeichen (\n) und das Rückgabezeichen (\r) müssen in Anführungszeichen eingeschlossen werden, es sei denn , es werden mehrzeilige Zeichenfolgenliterale verwendet.

Multi-line string literals (Mehrzeilige Zeichenfolgenliterale)

Geben Sie am Anfang und Am Ende des Literals ein mehrzeiliges Zeichenfolgenliteral durch einen Dreifachrückstrich ('') an.

Ein Beispiel finden Sie unter "Mehrzeiliges Zeichenfolgenliteral".

Hinweis

  • Mehrzeilige Zeichenfolgenliterale unterstützen Zeilenumbruchzeichen (\n) und Rückgabezeichen (\r).
  • Mehrzeilige Zeichenfolgenliterale unterstützen keine Escapezeichen. Ähnlich wie verbatim Zeichenfolgenliterale.
  • Mehrzeilige Zeichenfolgenliterale unterstützen keine Verschleierung.

Verkettung von getrennten Zeichenfolgenliteralen

Wenn in einer Kusto-Abfrage zwei oder mehr benachbarte Zeichenfolgenliterale keine Trennung zwischen ihnen aufweisen, werden sie automatisch kombiniert, um ein neues Zeichenfolgenliteral zu bilden. Wenn die Zeichenfolgenliterale nur durch Leerzeichen oder Kommentare getrennt sind, werden sie auch kombiniert, um ein neues Zeichenfolgenliteral zu bilden.

Ein Beispiel finden Sie unter Verkettete Zeichenfolgenliterale.

Verschleierte Zeichenfolgenliterale

Abfragen werden für Telemetrie und Analyse gespeichert. Um vertrauliche Informationen wie Kennwörter und geheime Schlüssel zu schützen, können Sie eine Zeichenfolge als verschleierte Zeichenfolgenliteral markieren. Diese markierten Zeichenfolgen werden in verschleierter Form protokolliert, die durch Sternchen (*) im Abfragetext ersetzt wird.

Ein verschleierter Zeichenfolgenliteral wird erstellt, indem ein h oder ein H Zeichen vor einem Standard- oder Verbatim-Zeichenfolgenliteral vorangestellt wird.

Ein Beispiel finden Sie unter "Verschleierte Zeichenfolgenliteral".

Wichtig

Markieren Sie alle Zeichenfolgenliterale, die geheime Informationen enthalten, als verschleierte Zeichenfolgenliterale.

Tipp

In einigen Situationen enthält nur ein Teil des Zeichenfolgenliterals geheime Informationen. In solchen Fällen teilen Sie das Literal in einen nicht geheimen Teil und einen geheimen Teil auf. Bezeichnen Sie dann nur den geheimen Teil als verschleiert.

Beispiele

Zeichenfolgenliteral mit Anführungszeichen

Im folgenden Beispiel wird veranschaulicht, wie Anführungszeichen in Zeichenfolgenliteralen verwendet werden, die von einfachen Anführungszeichen und doppelten Anführungszeichen eingeschlossen werden. Weitere Informationen finden Sie unter String-Literale.

print
    s1 = 'string with "double quotes"',
    s2 = "string with 'single quotes'"

Output

s1 s2
Zeichenfolge mit "doppelte Anführungszeichen" Zeichenfolge mit "einfache Anführungszeichen"

Zeichenfolgenliteral mit umgekehrten Schrägstrichen

Im folgenden Beispiel wird ein Muster für reguläre Ausdrücke mit umgekehrten Schrägstrichen erstellt, um Sonderzeichen zu escapen. Weitere Informationen finden Sie unter String-Literale.

print pattern = '\\n.*(>|\'|=|\")[a-zA-Z0-9/+]{86}=='

Output

Muster
\n.*(>|'|=|") [a-zA-Z0-9/+]{86}==

Zeichenfolgenliteral mit Unicode

Das folgende Beispiel zeigt, dass ein umgekehrter Schrägstrich erforderlich ist, um ein Unicode-Zeichen in ein Zeichenfolgenliteral einzuschließen.

print space = "Hello\u00A0World"

Output

Leerzeichen
Hello World

Ausführliche Zeichenfolgenliterale

Im folgenden Beispiel wird ein Pfad erstellt, in dem die umgekehrten Schrägstriche Teil des Pfads sind, anstelle von Escapezeichen. Dazu wird das Zeichenfolgenzeichen der Zeichenfolge vorangestellt, wodurch ein verbatim Zeichenfolgenliteral @erstellt wird.

print myPath = @'C:\Folder\filename.txt'

Output

myPath
C:\Folder\filename.txt

Mehrzeiliges Zeichenfolgenliteral

Das folgende Beispiel zeigt die Syntax für ein mehrzeiliges Zeichenfolgenliteral, das neue Linien und Tabstopps zum Formatieren eines Codeblocks verwendet. Weitere Informationen finden Sie unter Mehrzeilige Zeichenfolgenliterale.

print program = ```
  public class Program {
    public static void Main() {
      System.Console.WriteLine("Hello!");
    }
  }```

Output

Programm
public class Program { public static void Main() { System.Console.WriteLine("Hello!"); } }

Verkettete Zeichenfolgenliterale

Die folgenden Ausdrücke liefern eine Zeichenfolge der Länge 13. Weitere Informationen finden Sie unter Verkettung von getrennten Zeichenfolgenliteralen.

print 
    none = strlen("Hello"', '@"world!"),
    whitespace = strlen("Hello" ', ' @"world!"),
    whitespaceAndComment = strlen("Hello" 
        // Comment
        ', '@"world!"
    );

Output

keine whitespace whitespaceAndComment
13 13 13

Verschleierte Zeichenfolgenliteral

In der folgenden Abfrageausgabe ist die h Zeichenfolge in Ihren Ergebnissen sichtbar. Bei der Ablaufverfolgung oder Telemetrie wird die h Zeichenfolge jedoch in einem verschleierten Format gespeichert und durch Sternchen im Protokoll ersetzt. Weitere Informationen finden Sie unter "Verschleierte Zeichenfolgenliterale".

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...