微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Python SDK和CLI客户端凭据查询Azure Application Insights API时缺少MissingApiVersionParameter

如何解决使用Python SDK和CLI客户端凭据查询Azure Application Insights API时缺少MissingApiVersionParameter

当我尝试使用 Python SDK 查询 Application Insights 时-使用 Azure CLI客户端凭据

client = get_client_from_cli_profile(ApplicationInsightsDataClient)

appInsightsQuery = QueryBody(query="""requests
        | where timestamp >= ago(1d)
        | summarize count() by user_AuthenticatedId""")

print(client.query.execute(appInsightsAppId,appInsightsQuery).tables[0])

我收到此错误

(MissingApiVersionParameter) The api-version query parameter (?api-version=) is required for all requests.

解决方法

从此Log Analytics问题https://github.com/Azure/azure-sdk-for-python/issues/4544开始转变-对于azure-applicationinsights 0.1.0的当前版本-ApplicationInsightsDataClient的创建需要修改:

creds,_ = get_azure_cli_credentials(resource="https://api.applicationinsights.io")
client = ApplicationInsightsDataClient(creds)

appInsightsQuery = QueryBody(query="""requests
        | where timestamp >= ago(1d)
        | summarize count() by user_AuthenticatedId""")

print(client.query.execute(appInsightsAppId,appInsightsQuery).tables[0])
,

此问题已在azure-common 1.1.26中修复。 https://pypi.org/project/azure-common/1.1.26/

重新安装新的虚拟环境,或者更新azure-common,您应该没问题:)

(我在Python SDK团队的MS部门工作)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。