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... |
Zawartość pokrewna
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla