Het gegevenstype tekenreeks

Het string gegevenstype vertegenwoordigt een reeks van nul of meer Unicode-tekens .

Zie Tekenreeksoperators voor meer informatie over tekenreeksqueryoperators.

Notitie

  • Tekenreeksen worden intern gecodeerd in UTF-8. Ongeldige (niet-UTF8) tekens worden vervangen door U+FFFD Unicode-tekens tijdens de opname.
  • Kusto heeft geen gegevenstype dat gelijk is aan één teken. Eén teken wordt weergegeven als een tekenreeks met de lengte 1.
  • Wanneer u het string gegevenstype opneemt en één tekenreekswaarde in een record groter is dan 1 MB (gemeten met UTF-8-codering), wordt de waarde afgekapt en slaagt de opname. Als één tekenreekswaarde in een record, of de hele record, de toegestane gegevenslimiet van 64 MB overschrijdt, mislukt de opname.

string letterlijke waarden

U kunt dubbele aanhalingstekens of enkele aanhalingstekens gebruiken om letterlijke tekenreeksen in querytekst te coderen. Bij dubbele aanhalingstekens moet u geneste dubbele aanhalingstekens met een backslash (\) ontlopen. Bij enkele aanhalingstekens moet u geneste enkele aanhalingstekens escapen en hoeft u dubbele aanhalingstekens niet te escapen.

Gebruik het backslashteken om de aanhalingstekens, tabtekens (\t), nieuwe regeltekens (\n) en de backslash zelf () te laten ontsnappen.\\

Notitie

Het nieuwe regelteken (\n) en het retourteken (\r) moeten tussen aanhalingstekens worden geplaatst, tenzij letterlijke tekenreeksen van meerdere regels worden gebruikt.

Letterlijke tekenreeksen van verbatim

Letterlijke letterlijke tekenreeksen worden ook ondersteund. In deze vorm staat het backslashteken (\) voor zichzelf en is het geen escape-teken. Het prependeren van het @ teken op letterlijke tekenreeksen dient als een verbatim-id. In letterlijke tekenreeksen worden dubbele aanhalingstekens met dubbele aanhalingstekens en enkele aanhalingstekens met enkele aanhalingstekens escaped.

Zie Verbatim-tekenreeks voor een voorbeeld.

Notitie

Het nieuwe regelteken (\n) en het retourteken (\r) moeten tussen aanhalingstekens worden geplaatst, tenzij letterlijke tekenreeksen van meerdere regels worden gebruikt.

Letterlijke tekenreeksen met meerdere regels

Geef een letterlijke tekenreeks met meerdere regels aan met een 'triple-backtick chord' (''') aan het begin en einde van de letterlijke waarde.

Zie Letterlijke tekenreeks met meerdere regels voor een voorbeeld.

Notitie

  • Letterlijke tekenreeksen met meerdere regels ondersteunen nieuwe regel (\n) en retourneren (\r).
  • Letterlijke tekenreeksen met meerdere regels bieden geen ondersteuning voor escape-tekens. Vergelijkbaar met letterlijke letterlijke tekenreeksen.
  • Letterlijke tekenreeksen met meerdere regels bieden geen ondersteuning voor verdoezeling.

Samenvoeging van letterlijke tekenreeksen gescheiden

Wanneer twee of meer aangrenzende letterlijke tekenreeksen in een Kusto-query geen scheiding hebben, worden ze automatisch gecombineerd tot een nieuwe letterlijke tekenreeks. En als de letterlijke waarden van tekenreeksen alleen worden gescheiden door witruimte of opmerkingen, worden ze ook gecombineerd tot een nieuwe letterlijke tekenreeks.

Zie Letterlijke tekenreeksen samengevoegd voor een voorbeeld.

Verborgen letterlijke tekenreeksen

Query's worden opgeslagen voor telemetrie en analyse. Ter bescherming van gevoelige informatie, zoals wachtwoorden en geheimen, kunt u een tekenreeks markeren als een verborgen letterlijke tekenreeks. Deze gemarkeerde tekenreeksen worden vervangen door sterretjes (*) in de querytekst.

Een verborgen letterlijke tekenreeks wordt gemaakt door een h of een H teken voor te laten prependeren vóór een standaardteken of letterlijke tekenreeks.

Zie Verborgen letterlijke tekenreeks voor een voorbeeld.

Belangrijk

Markeer alle letterlijke tekenreeksen die geheime informatie bevatten als verborgen letterlijke tekenreeksen.

Tip

In sommige situaties bevat slechts een deel van de letterlijke tekenreeks geheime informatie. In dergelijke gevallen deelt u de letterlijke in een niet-geheim deel en een geheim gedeelte. Vervolgens labelt u alleen het geheime gedeelte als verborgen.

Voorbeelden

Letterlijke tekenreeks met aanhalingstekens

In het volgende voorbeeld ziet u hoe u aanhalingstekens gebruikt binnen letterlijke tekenreeksen die worden omsloten door enkele aanhalingstekens en dubbele aanhalingstekens. Zie Letterlijke tekenreeksen voor meer informatie.

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

Uitvoer

s1 s2
tekenreeks met 'dubbele aanhalingstekens' tekenreeks met 'enkele aanhalingstekens'

Letterlijke tekenreeks met backslash escape

In het volgende voorbeeld wordt een patroon voor reguliere expressies gemaakt met behulp van backslashes om speciale tekens te escapen. Zie Letterlijke tekenreeksen voor meer informatie.

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

Uitvoer

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

Letterlijke tekenreeks met Unicode

In het volgende voorbeeld ziet u dat een backslash nodig is om een Unicode-teken op te nemen in een letterlijke tekenreeks.

print space = "Hello\u00A0World"

Uitvoer

schijfruimte
Hallo wereld

Letterlijke tekenreeks van verbatim

In het volgende voorbeeld wordt een pad gemaakt waarin de backslashes deel uitmaken van het pad in plaats van escape-tekens. Om dit te doen, wordt het tekenreeks @ voorafgegaan door de tekenreeks, waardoor een letterlijke letterlijke tekenreeks wordt gemaakt.

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

Uitvoer

myPath
C:\Folder\filename.txt

Letterlijke tekenreeks met meerdere regels

In het volgende voorbeeld ziet u de syntaxis voor een letterlijke tekenreeks met meerdere regels, waarbij nieuwe regels en tabbladen worden gebruikt om een codeblok op te maken. Zie Letterlijke tekenreeksen met meerdere regels voor meer informatie.

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

Uitvoer

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

Letterlijke tekenreeksen samengevoegd

De volgende expressies leveren allemaal een tekenreeks met de lengte 13 op. Zie Samenvoeging van letterlijke tekenreeksen voor meer informatie.

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

Uitvoer

geen Whitespace witruimteAndComment
13 13 13

Verborgen letterlijke tekenreeks

In de volgende queryuitvoer is de h tekenreeks zichtbaar. Bij tracering of telemetrie wordt de h tekenreeks echter vervangen door sterretjes. Zie Letterlijke tekenreeksen verborgen voor meer informatie.

print blob="https://contoso.blob.core.windows.net/container/blob.txt?"
    h'sv=2012-02-12&se=2013-04-13T0...'

Uitvoer

blob
https://contoso.blob.core.windows.net/container/blob.txt?sv=2012-02-12& se=2013-04-13T0...