Typ danych ciągu

string Typ danych reprezentuje sekwencję zera lub większej liczby znaków Unicode.

Aby uzyskać informacje na temat operatorów zapytań ciągów, zobacz Operatory ciągów.

Uwaga

  • Wewnętrznie ciągi są kodowane w formacie UTF-8. Nieprawidłowe znaki (inne niż UTF8) są zastępowane znakami zastępczymi U+FFFD Unicode w czasie pozyskiwania.
  • Usługa Kusto nie ma typu danych, który jest odpowiednikiem pojedynczego znaku. Pojedynczy znak jest reprezentowany jako ciąg o długości 1.
  • W przypadku pozyskiwania string typu danych, jeśli pojedyncza wartość ciągu w rekordzie przekroczy 1 MB (mierzona przy użyciu kodowania UTF-8), wartość zostanie obcięta i pozyskiwanie zakończy się powodzeniem. Jeśli pojedyncza wartość ciągu w rekordzie lub cały rekord przekroczy dozwolony limit danych 64 MB, pozyskiwanie nie powiedzie się.

string Literały

Możesz użyć cudzysłowów podwójnych lub pojedynczych cudzysłowów, aby zakodować literały ciągu w tekście zapytania. W przypadku podwójnych cudzysłowów należy uciec przed zagnieżdżonym podwójnym cudzysłowem znakiem ukośnika odwrotnego (\). W przypadku cudzysłowów należy uciec przed zagnieżdżonym pojedynczymi znakami cudzysłowu i nie musisz unikać cudzysłowów podwójnych.

Użyj znaku ukośnika odwrotnego, aby uciec od otaczających znaków cudzysłowu, znaków tabulatora (), znaków nowego wiersza (\t\n) i samego ukośnika odwrotnego (\\).

Uwaga

Znak nowego wiersza () i znak powrotny (\n\r) muszą być ujęte w cudzysłowy, chyba że są używane literały ciągu wielowierszowego.

Literały ciągów dosłownych

Obsługiwane są również literały ciągów dosłownych. W tym formularzu znak ukośnika odwrotnego (\) oznacza sam siebie i nie jest znakiem ucieczki. Poprzedzanie @ znaku literałami ciągu służy jako identyfikator dosłowny. W literałach ciągu dosłownego cudzysłowy podwójne są ucieczki z cudzysłowami podwójnymi, a cudzysłowy pojedyncze są ucieczki za pomocą cudzysłowów pojedynczych.

Aby zapoznać się z przykładem, zobacz Ciąg dosłowny.

Uwaga

Znak nowego wiersza () i znak powrotny (\n\r) muszą być ujęte w cudzysłowy, chyba że są używane literały ciągu wielowierszowego.

Literały ciągu wielowierszowego

Wskazuje literały ciągu wielowierszowego według "triple-backtick chord" (''') na początku i na końcu literału.

Aby zapoznać się z przykładem, zobacz Literał ciągu wielowierszowego.

Uwaga

  • Literały ciągu wielowierszowego obsługują znaki newline (\n) i zwracane (\r).
  • Literały ciągu wielowierszowego nie obsługują znaków ucieczki. Podobnie jak literały ciągów dosłownych.
  • Literały ciągu wielowierszowego nie obsługują zaciemniania.

Łączenie rozdzielonych literałów ciągów

W zapytaniu Kusto, gdy dwa lub więcej sąsiednich literałów ciągów nie ma separacji między nimi, są one automatycznie łączone w celu utworzenia nowego literału ciągu. Podobnie, jeśli literały ciągu są oddzielone tylko białym znakiem lub komentarzami, są one również łączone w celu utworzenia nowego literału ciągu.

Aby zapoznać się z przykładem, zobacz Łączenie literałów ciągów.

Zaciemnione literały ciągu

Zapytania są przechowywane na potrzeby telemetrii i analizy. Aby chronić poufne informacje, takie jak hasła i wpisy tajne, możesz oznaczyć ciąg jako zaciemniony literał ciągu. Te oznaczone ciągi są zastępowane gwiazdkami (*) w tekście zapytania.

Zaciemniony literał ciągu jest tworzony przez wstępne tworzenie h znaku lub H przed standardowym lub dosłownym literałem ciągu.

Aby zapoznać się z przykładem, zobacz Zaciemniony literał ciągu.

Ważne

Oznacz wszystkie literały ciągu zawierające informacje tajne jako zaciemnione literały ciągu.

Porada

W niektórych sytuacjach tylko część literału ciągu zawiera informacje tajne. W takich przypadkach należy podzielić literał na część nieskrytą i część tajną. Następnie oznacz tylko część wpisu tajnego jako zaciemnioną.

Przykłady

Literał ciągu z cudzysłowami

W poniższym przykładzie pokazano, jak używać cudzysłowów w literałach ciągu obejmujących pojedyncze cudzysłowy i cudzysłowy podwójne. Aby uzyskać więcej informacji, zobacz Literały ciągu.

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

Dane wyjściowe

s1 s2
ciąg z cudzysłowami "podwójnymi cudzysłowami" ciąg z "pojedynczymi cudzysłowami"

Literał ciągu z ukośnikiem odwrotnym

Poniższy przykład tworzy wzorzec wyrażenia regularnego przy użyciu ukośników odwrotnych w celu ucieczki znaków specjalnych. Aby uzyskać więcej informacji, zobacz Literały ciągu.

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

Dane wyjściowe

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

Literał ciągu z unicode

W poniższym przykładzie pokazano, że potrzebny jest ukośnik odwrotny w celu uwzględnienia znaku Unicode w literału ciągu.

print space = "Hello\u00A0World"

Dane wyjściowe

spacje
Witaj, świecie

Literał ciągu dosłowny

Poniższy przykład tworzy ścieżkę, w której ukośniki odwrotne są częścią ścieżki zamiast znaków ucieczki. W tym celu znak ciągu @ jest poprzedzany ciągiem, tworząc literał ciągu dosłownego.

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

Dane wyjściowe

myPath
C:\Folder\filename.txt

Literał ciągu wielowierszowego

Poniższy przykład przedstawia składnię literału ciągu wielowierszowego, który używa nowych linii i kart do tworzenia stylu bloku kodu. Aby uzyskać więcej informacji, zobacz Literały ciągów wielowierszowych.

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

Dane wyjściowe

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

Literały połączonych ciągów

Wszystkie poniższe wyrażenia dają ciąg o długości 13. Aby uzyskać więcej informacji, zobacz Łączenie rozdzielonych literałów ciągów.

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

Dane wyjściowe

brak Odstępu biały znakAndComment
13 13 13

Zaciemniony literał ciągu

W poniższych danych wyjściowych h zapytania ciąg jest widoczny. Jednak w przypadku śledzenia lub telemetrii h ciąg jest zastępowany gwiazdkami. Aby uzyskać więcej informacji, zobacz Zaciemnione literały ciągów.

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

Dane wyjściowe

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