问题描述
当我尝试使用 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部门工作)