字串數據類型
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
數據類型 string
代表零個或多個 Unicode 字元的序列。
如需字串查詢運算符的資訊,請參閱 字串運算元。
注意
- 在內部,字串會以UTF-8編碼。 在擷取時,無效的 (非 UTF8) 字元會取代為 U+FFFD Unicode 取代字元。
- Kusto 沒有相當於單一字元的數據類型。 單一字元會以長度為1的字串表示。
string
擷取數據類型時,如果記錄中的單一字串值超過 1MB(使用 UTF-8 編碼測量),則會截斷值,並成功擷取。 如果記錄或整個記錄中的單一字串值超過允許的數據限制 64MB,擷取就會失敗。string
擷取數據類型時,如果記錄中的單一字串值超過 1MB(使用 UTF-8 編碼測量),則會截斷值,並成功擷取。 您可以變更資料列的編碼原則來增加MaxValueSize
資料列的 。- 如果記錄或整個記錄中的單一字串值超過允許的數據限制 64MB,擷取就會失敗。
string
文字
字串常值是以引號括住的字串。 您可以使用雙引號或單引號來編碼查詢文字中的字串常值。 使用雙引號時,您必須使用反斜杠逸出巢狀雙引號字元。\
使用單引號時,您必須逸出巢狀單引號字元,而且不需要逸出雙引號。
使用反斜杠字元逸出括住的引號字元、製表符 (\t
)、換行符 (\n
), 以及反斜杠本身 (\\
)。
注意
除非使用多行字串常值,否則換行符 (\n
) 和傳回字元 (\r
) 必須以引號括住。
逐字字串常值
逐字字串常值是前面加上字元的 @
字串常值,其做為逐字標識碼。 在這個形式中,反斜杠字元 (\
) 代表自己,不是逸出字元。 在逐字字串常值中,雙引號會以雙引號逸出,而單引號則會以單引號逸出。
如需範例,請參閱 逐字字串。
注意
除非使用多行字串常值,否則換行符 (\n
) 和傳回字元 (\r
) 必須以引號括住。
多行字串常值
在常值開頭和結尾以 “triple-backtick chord” ('''') 表示多行字串常值。
如需範例,請參閱 多行字串常值。
分隔字串常值的串連
在 Kusto 查詢中,當兩個或多個相鄰字串常值之間沒有分隔時,它們會自動合併成新的字串常值。 同樣地,如果字串常值只以空格符或批註分隔,它們也會合併成形成新的字串常值。
如需範例,請參閱 串連字串常值。
模糊字串常值
查詢會儲存在遙測和分析中。 若要保護密碼和秘密等敏感性資訊,您可以將字串標示為 模糊字串常值。 這些標示的字串會以模糊格式記錄,以查詢文字中的星號 (*
) 取代。
模糊字串常值是藉由在標準或逐字字串常值前面加上 h
或 H
字元來建立。
如需範例,請參閱 模糊字串常值。
重要
將所有包含秘密資訊的字串常值標示為模糊字串常值。
提示
在某些情況下,只有一部分的字串常值包含秘密資訊。 在這種情況下,將常值分成非秘密部分和秘密部分。 然後,將秘密部分標示為模糊化。
範例
具有引號的字串常值
下列範例示範如何在單引號和雙引號所包含的字串常值內使用引號。 如需詳細資訊,請參閱 字串常值。
print
s1 = 'string with "double quotes"',
s2 = "string with 'single quotes'"
輸出
s1 | s2 |
---|---|
具有 「double quotes」 的字串 | 具有 『single quotes』 的字串 |
具有反斜杠逸出的字串常值
下列範例會使用反斜杠建立正則表示式模式,以逸出特殊字元。 如需詳細資訊,請參閱 字串常值。
print pattern = '\\n.*(>|\'|=|\")[a-zA-Z0-9/+]{86}=='
輸出
pattern |
---|
\n.*(>|'|=|")[a-zA-Z0-9/+]{86}== |
使用 Unicode 的字串常值
下列範例顯示需要反斜杠,才能在字串常值中包含 Unicode 字元。
print space = "Hello\u00A0World"
輸出
space |
---|
Hello World |
逐字字串常值
下列範例會建立路徑,其中反斜杠是路徑的一部分,而不是逸出字元。 若要這樣做,字串 @
符號會加上字串前面,以建立 逐字字串常值。
print myPath = @'C:\Folder\filename.txt'
輸出
myPath |
---|
C:\Folder\filename.txt |
多行字串常值
下列範例顯示多行字串常值的語法,該常值會使用換行符和索引標籤來設定程式碼區塊的樣式。 如需詳細資訊,請參閱 多行字串常值。
print program = ```
public class Program {
public static void Main() {
System.Console.WriteLine("Hello!");
}
}```
輸出
program |
---|
public class Program { public static void Main() { System.Console.WriteLine(“Hello!”] } } |
串連字串常值
下列表達式都會產生長度為13的字串。 如需詳細資訊,請參閱 分隔字串常值的串連。
print
none = strlen("Hello"', '@"world!"),
whitespace = strlen("Hello" ', ' @"world!"),
whitespaceAndComment = strlen("Hello"
// Comment
', '@"world!"
);
輸出
none | whitespace | whitespaceAndComment |
---|---|---|
13 | 13 | 13 |
模糊字串常值
在下列查詢輸出中, h
您的結果中會顯示字串。 不過,在追蹤或遙測中, h
字串會以模糊格式儲存,並以星號取代在記錄中。 如需詳細資訊,請參閱 模糊字串常值。
print blob="https://contoso.blob.core.windows.net/container/blob.txt?"
h'sv=2012-02-12&se=2013-04-13T0...'
輸出
blob |
---|
https://contoso.blob.core.windows.net/container/blob.txt?sv=2012-02-12&se=2013-04-13T0... |