适用于:✅
Microsoft Fabric✅
Azure 数据资源管理器Azure Monitor
✅
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
) 必须用引号括住,除非使用
多行字符串字面量
。
多行字符串文本
通过在文本的开头和结尾使用“三个反撇号”(```) 来指示多行字符串字面量。
有关示例,请参阅
多行字符串字面量
。
多行字符串字面量支持换行符 (
\n
) 和回车符 (
\r
)。
多行字符串文本不支持转义字符。 与
逐字字符串字面量
类似。
多行字符串文本不支持
模糊处理
。
分隔字符串文本的串联
在 Kusto 查询中,如果两个或多个相邻字符串文本之间没有分隔,它们会自动合并以形成新的字符串文本。 同样,如果字符串文本仅由空格或注释分隔,则它们也会组合成新的字符串文本。
有关示例,请参阅
串联字符串字面量
。
经过模糊处理的字符串文本
存储查询用于遥测和分析。 若要保护密码和机密等敏感信息,可以将字符串标记为
模糊处理的字符串字面量
。 这些被标记的字符串会以混淆形式记录下来,并在查询文本中用星号 (
*
) 替代。
模糊处理的字符串字面量是通过在标准或逐字
字符串字面量
前面添加
h
或
H
字符创建的。
有关示例,请参阅
模糊处理的字符串字面量
。
将所有包含机密信息的字符串文本标记为经过模糊处理的字符串文本。
在某些情况下,只有字符串字面量的一部分包含机密信息。 在这种情况下,请将字面量分为非机密部分和机密部分。 然后,仅将机密部分标记为模糊处理。
带引号的字符串字面量
以下示例演示如何在单引号和双引号括住的字符串字面量中使用引号。 有关详细信息,请参阅
字符串字面量
。
print
s1 = 'string with "double quotes"',
s2 = "string with 'single quotes'"
none = strlen("Hello"', '@"world!"),
whitespace = strlen("Hello" ', ' @"world!"),
whitespaceAndComment = strlen("Hello"
// Comment
', '@"world!"
whitespaceAndComment
模糊处理的字符串字面量
在以下查询输出中,结果中可以看到 h 字符串。 但是,在跟踪或遥测中,h 字符串以混淆形式存储,并在日志中用星号代替。 有关详细信息,请参阅模糊处理的字符串字面量。
print blob="https://contoso.blob.core.windows.net/container/blob.txt?"
h'sv=2012-02-12&se=2013-04-13T0...'