MissingApiVersionParameter при запросе API Azure Application Insights с учетными данными клиента Python SDK и CLI

#azure-application-insights #azure-sdk-python

#azure-application-insights #azure-sdk-python

Вопрос:

Когда я пытаюсь запросить Application Insights с помощью Python SDK — используя учетные данные клиента 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.
  

Ответ №1:

Преобразование из-за этой проблемы с аналитикой журналов 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])
  

Комментарии:

1. связанная проблема в Application Insights Python SDK: github.com/Azure/azure-sdk-for-python/issues/14287

Ответ №2:

Это было исправлено в azure-common 1.1.26 https://pypi.org/project/azure-common/1.1.26 /

Переустановите новую виртуальную среду или обновите azure-common, и все должно быть в порядке 🙂

(Я работаю в MS в команде Python SDK)