如何使用 azure 运行 记录分析查询 api?

How to run log analytics query using azure api?

我一直在尝试 运行 使用 Azure API 进行日志分析查询,但它 returns 出现一些错误 { “错误”: { "message": "未提供有效的身份验证", “代码”:“AuthorizationRequiredError”, “correlationId”:“27301475d-cc29-4288-ae61-29e77d6d05cb” } }

这是我一直在尝试的请求

https://api.loganalytics.io/v1/workspaces/34567824-3432rewfsdewt435-3424jhh-dsa-/query?query=search in (ContainerLog) "search_data"|其中 TimeGenerated > datetime("2020-09-03")|项目 LogEntry & Authorization=Bearer 0000000000000000000000000000

如果你们知道什么请帮助我 谢谢

当我们使用Azure Log Analytics RESTAPI做查询时,我们需要userAuthorization=Bearer {token}作为request Headers。更多详情请参考here

例如

  1. 注册 Azure AD 应用程序

  2. 为AD应用配置API权限

  3. 授予 AAD 应用程序访问我们的 Log Analytics 工作区的权限。请将 Log Analytics Reader 角色分配给 AD 应用程序

  4. 获取访问令牌

POST /<your tenant id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type =client_credentials
&client_id=<>
&client_secret=<>
&resource=https://westus2.api.loganalytics.io
  1. 调用 api

一个。 POST method

POST https://api.loganalytics.io/v1/workspaces/{workspaceId}/query
Authorization: Bearer {access_token}
Content-Type: application/json

{
    "query": ""
}

b。 Get method

GET https://api.loganalytics.io/v1/workspaces/{workspaceId}/query?query={query}

Authorization: Bearer {access_token}

另见 话题的回答:

Use API key

You may also create API key and use it for your request:

  1. Go to Application Insights in Azure Portal
  2. Click on API Access blade under Configure section
  3. Create new API key
  4. Use it in REST API calls in a header with Key = x-api-key