Jenis data string
Jenis data string
mewakili urutan nol atau beberapa karakter Unicode.
Untuk informasi tentang operator kueri string, lihat Operator string.
Catatan
- Secara internal, string dikodekan dalam UTF-8. Karakter tidak valid (non-UTF8) diganti dengan karakter pengganti U +FFFD Unicode pada waktu penyerapan.
- Kusto tidak memiliki jenis data yang setara dengan satu karakter. Satu karakter diwakili sebagai string panjang 1.
- Saat menyerap jenis data
string
, jika nilai string tunggal dalam rekaman melebihi 1 MB (diukur menggunakan pengodean UTF-8), nilainya dipotong dan penyerapan berhasil. Anda dapat meningkatkanMaxValueSize
kolom dengan mengubah kebijakan pengodeannya. - Jika satu nilai string dalam rekaman, atau seluruh rekaman, melebihi batas data yang diizinkan sebesar 64 MB, penyerapan gagal.
Literal string
Anda dapat menggunakan tanda kutip ganda atau tanda kutip tunggal untuk mengodekan literal string dalam teks kueri. Dengan tanda kutip ganda, Anda harus menghindari karakter kutipan ganda berlapis dengan garis miring terbelakang (\
). Dengan tanda kutip tunggal, Anda harus menghindari karakter kutipan tunggal berlapis, dan Anda tidak perlu menghindari tanda kutip ganda.
Gunakan karakter garis miring terbelakang untuk meloloskan karakter kutipan, karakter tab (\t
), karakter garis baru (\n
), dan garis miring terbelakang itu sendiri (\\
).
Catatan
Karakter baris baru (\n
) dan karakter pengembalian (\r
) harus diapit dalam tanda kutip kecuali menggunakan literal string multibaris.
Harfiah string verbatim
Harfiah string verbatim juga didukung. Dalam bentuk ini, karakter garis miring terbelakang (\
) adalah singkatan dari dirinya sendiri dan bukan karakter escape. Prepending @
karakter untuk string literal berfungsi sebagai pengidentifikasi verbatim. Dalam literal string verbatim, tanda kutip ganda lolos dengan tanda kutip ganda dan tanda kutip tunggal diloloskan dengan tanda kutip tunggal.
Misalnya, lihat String verbatim.
Catatan
Karakter baris baru (\n
) dan karakter pengembalian (\r
) harus diapit dalam tanda kutip kecuali menggunakan literal string multibaris.
Harfiah string multibaris
Menunjukkan literal string multibaris dengan "akord triple-backtick" (''') di awal dan akhir harfiah.
Misalnya, lihat String multibaris literal.
Catatan
- Literal string multibaris mendukung karakter baris baru (
\n
) dan mengembalikan (\r
). - Harfiah string multibaris tidak mendukung karakter yang escape. Mirip dengan literal string verbatim.
- Literal string multibaris tidak mendukung obfuscation.
Perangkaian literal string yang dipisahkan
Dalam kueri Kusto, ketika dua literal string atau lebih yang berdekatan tidak memiliki pemisahan di antara mereka, mereka secara otomatis digabungkan untuk membentuk string literal baru. Demikian pula, jika literal string hanya dipisahkan oleh spasi kosong atau komentar, string tersebut juga digabungkan untuk membentuk string literal baru.
Misalnya, lihat Literal string yang digabungkan.
Harfiah string yang dikaburkan
Kueri disimpan untuk telemetri dan analisis. Untuk melindungi informasi sensitif seperti kata sandi dan rahasia, Anda dapat menandai string sebagai string yang dikaburkan secara harfiah. String yang ditandai ini diganti dengan tanda bintang (*
) dalam teks kueri.
String harfiah yang dikaburkan dibuat dengan prepending atau h
H
karakter di depan literal string standar atau verbatim.
Misalnya, lihat Untai (karakter) yang dikaburkan secara harfiah.
Penting
Tandai semua literal string yang berisi informasi rahasia sebagai literal string yang dikaburkan.
Tip
Dalam beberapa situasi, hanya sebagian string yang berisi informasi rahasia. Dalam kasus seperti itu, bagi harfiah menjadi bagian non-rahasia dan bagian rahasia. Kemudian, beri label hanya bagian rahasia sebagai dikaburkan.
Contoh
String literal dengan tanda kutip
Contoh berikut menunjukkan cara menggunakan tanda kutip dalam literal string yang dilapisi oleh tanda kutip tunggal dan tanda kutip ganda. Untuk informasi selengkapnya, lihat Literal string.
print
s1 = 'string with "double quotes"',
s2 = "string with 'single quotes'"
Hasil
s1 | s2 |
---|---|
string dengan "tanda kutip ganda" | string dengan 'tanda kutip tunggal' |
String literal dengan backslash melarikan diri
Contoh berikut membuat pola ekspresi reguler menggunakan garis miring terbelakang untuk menghindari karakter khusus. Untuk informasi selengkapnya, lihat Literal string.
print pattern = '\\n.*(>|\'|=|\")[a-zA-Z0-9/+]{86}=='
Hasil
pola |
---|
\n.*(>|'|=|") [a-zA-Z0-9/+]{86}== |
String literal dengan Unicode
Contoh berikut menunjukkan bahwa garis miring terbalik diperlukan untuk menyertakan karakter Unicode dalam string literal.
print space = "Hello\u00A0World"
Hasil
space |
---|
Halo Dunia |
String verbatim harfiah
Contoh berikut membuat jalur di mana garis miring terbelakang adalah bagian dari jalur alih-alih karakter escape. Untuk melakukan ini, tanda string @
didahului ke string, membuat string verbatim literal.
print myPath = @'C:\Folder\filename.txt'
Hasil
myPath |
---|
C:\Folder\filename.txt |
String multibaris literal
Contoh berikut menunjukkan sintaksis untuk string multibaris literal, yang menggunakan baris baru dan tab untuk menata blok kode. Untuk informasi selengkapnya, lihat Literal string multibaris.
print program = ```
public class Program {
public static void Main() {
System.Console.WriteLine("Hello!");
}
}```
Hasil
program |
---|
Program kelas publik { public static void Main() { System.Console.WriteLine("Hello!"); } } |
Literal string yang digabungkan
Ekspresi berikut semuanya menghasilkan untai panjang 13. Untuk informasi selengkapnya, lihat Penggalian literal string yang dipisahkan.
print
none = strlen("Hello"', '@"world!"),
whitespace = strlen("Hello" ', ' @"world!"),
whitespaceAndComment = strlen("Hello"
// Comment
', '@"world!"
);
Hasil
tidak ada | spasi kosong | whitespaceAndComment |
---|---|---|
13 | 13 | 13 |
Untai (karakter) yang dikaburkan secara harfiah
Dalam output kueri berikut, h
string terlihat. Namun, dalam pelacakan atau telemetri, h
string diganti dengan tanda bintang. Untuk informasi selengkapnya, lihat Literal string yang dikaburkan.
print blob="https://contoso.blob.core.windows.net/container/blob.txt?"
h'sv=2012-02-12&se=2013-04-13T0...'
Hasil
blob |
---|
https://contoso.blob.core.windows.net/container/blob.txt?sv=2012-02-12& se=2013-04-13T0... |
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk