You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过REST API以GET方式执行Kusto查询

Kusto REST API GET 请求传递查询语句示例

要通过GET请求调用Kusto REST API获取查询结果,需要将数据库名和Kusto查询语句作为URL查询参数传递,其中查询语句必须做URL编码处理。以下是修改后的完整PowerShell示例:

# 获取访问令牌
$accessToken = (Get-AzAccessToken -ResourceUrl "https://MyKustoClusterName.westus2.kusto.windows.net").Token

# 构造请求头
$authHeader = @{
    'Authorization' = 'Bearer ' + $accessToken
    'Host' = 'MyKustoClusterName.westus2.kusto.windows.net'
}

# 定义Kusto查询语句(替换为你的实际查询)
$queryText = "MyTableName | project column1, column2, column3"
# 对查询语句进行URL编码,避免特殊字符破坏URL结构
$encodedQuery = [Uri]::EscapeDataString($queryText)

# 指定目标数据库名(替换为你的实际数据库名)
$databaseName = "MyDatabaseName"

# 方式1:直接构造带参数的URI
$uri = "https://MyKustoClusterName.westus2.kusto.windows.net/v2/rest/query?db=$databaseName&csl=$encodedQuery"
$response = Invoke-RestMethod -Uri $uri -Method GET -Headers $authHeader

# 方式2:通过-Query参数传递哈希表(效果与方式1一致)
# $queryParams = @{
#     db = $databaseName
#     csl = $encodedQuery
# }
# $response = Invoke-RestMethod -Uri "https://MyKustoClusterName.westus2.kusto.windows.net/v2/rest/query" -Method GET -Headers $authHeader -Query $queryParams

关键说明:

  • 必填参数:db指定要查询的Kusto数据库,csl是URL编码后的Kusto查询语句,这两个是GET请求的核心参数。
  • URL编码:必须用[Uri]::EscapeDataString()处理查询语句,否则|、空格这类特殊字符会导致请求失败。
  • 请求头优化:GET请求无需Content-Type头(无请求体),保留Authorization和Host即可。

内容的提问来源于stack exchange,提问作者Vinny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:42:43