如何使用curl对Azure Data Explorer(Kusto)发出查询请求



我正在努力了解如何通过PHP使用Kusto(数据浏览器(,其中一部分是身份验证。

我创建了服务帐户;冒充;用于active directory上的Azure Data Explorer。

但当我试图为它获取令牌时(httpie而不是curl,但你明白了(:

http https://login.microsoftonline.com/$AZURE_TENANT_ID/oauth2/token
client_id=$AZURE_CLIENT_ID 
grant_type=client_credentials 
client_secret=$AZURE_CLIENT_SECRET 
scope=https://myclustername.brazilsouth.kusto.windows.net/.default

我得到一个代币

"aud": "00000002-0000-0000-c000-000000000000"

而不是预期的

"aud": "https://myclustername.brazilsouth.kusto.windows.net"

这给了我正确的(带有正确的aud(令牌:

az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET --tenant $AZURE_TENANT_ID --allow-no-subscriptions
az account get-access-token --resource myclustername.brazilsouth.kusto.windows.net --query accessToken --output tsv

我可以使用该令牌正确地发出请求并获得结果。

有人知道我在这里错过了什么吗?我需要进行某种令牌交换才能通过curl访问Azure Data Explorer服务吗?

文档中有一个使用curl的示例:https://learn.microsoft.com/en-us/azure/data-explorer/kusto/api/rest/request#examples

最新更新