Azure Monitor Log Analytics API 错误

本部分包含已知常见错误、其原因和可能的解决方法的非详尽列表。 其中还包含成功响应,这些响应通常表示请求存在问题(例如缺少标头)或出现其他意外行为。

查询语法错误

400 响应:

    {
        "error": {
            "message": "The request had some invalid properties",
            "code": "BadArgumentError",
            "innererror": {
                "code": "SyntaxError",
                "message": "Syntax Error"
            }
        }
    }

查询字符串格式不正确。 检查是否存在多余的空格、标点符号或拼写错误。

未提供身份验证

401 响应:

    {
        "error": {
            "code": "AuthenticationFailed",
            "message": "Authentication failed. The 'Authorization' header is missing."
        }
    }

在请求中包含某种形式的身份验证,例如标头 "Authorization: Bearer \<token\>"

身份验证令牌无效

403 响应:

    {
        "error": {
            "code": "InvalidAuthenticationToken",
            "message": "The access token is invalid."
        }
    }

令牌格式错误或无效。 如果手动复制粘贴令牌并在有效负载中添加或剪切字符,则可能会发生此错误。 验证令牌是否与从 Microsoft Entra ID 接收的令牌完全相同。

令牌受众无效

403 响应:

    {
        "error": {
            "code": "InvalidAuthenticationTokenAudience",
            "message": "The access token has been obtained from wrong audience or resource 'https://api.loganalytics.io'. It should exactly match (including forward slash) with one of the allowed audiences 'https://management.core.chinacloudapi.cn/','https://management.chinacloudapi.cn/'."
        }
    }

如果尝试使用客户端凭据 OAuth2 流获取 API 的令牌,然后通过 Azure 资源管理器终结点使用该令牌,则会发生此错误。 若要使用 Azure 资源管理器终结点,请使用指示的 URL 之一作为令牌请求中的资源。 或者,可以通过不同的 OAuth2 流使用定向 API 终结点进行授权。

定向 API 的客户端凭据

403 响应:

    {
        "error": {
            "message": "The provided credentials have insufficient access to perform the requested operation",
            "code": "InsufficientAccessError",
            "innererror": {
                "code": "UnauthorizedClient",
                "message": "The service principal does not have sufficient permissions to access this resource: 997631f8-3a55-4bb2-81b2-c0972b222260"
            }
        }
    }

如果尝试通过定向 API 终结点使用客户端凭据,则可能会发生此错误。 如果使用的是定向 API 终结点,请使用不同的 OAuth2 流进行授权。 如果必须使用客户端凭据,请使用 Azure 资源管理器 API 终结点。

权限不足

403 响应:

    {
        "error": {
            "message": "The provided credentials have insufficient access to perform the requested operation",
            "code": "InsufficientAccessError"
        }
    }

为授权提供的令牌属于没有足够访问权限(不拥有此特权)的用户。 验证工作区 GUID 和令牌请求是否正确。 必要时,在工作区中向你作为参与者创建的 Microsoft Entra 应用程序授予 IAM 特权。

注意

在使用 Microsoft Entra 身份验证时,Application Insights REST API 最多可能需要 60 分钟来识别新的基于角色的访问控制权限。 权限在传播时,REST API 调用可能会失败,错误代码 403。

错误的授权代码

403 响应:

    {
        "error": "invalid_grant",
        "error_description": "AADSTS70002: Error validating credentials. AADSTS70008: The provided authorization code or refresh token is expired. Send a new interactive authorization request for this user and resource.",
        "error_codes": [
            70002,
            70008
        ]
    }

在令牌请求中提交的授权代码已过时或已被使用。 通过 Microsoft Entra 授权终结点重新授权以获取新代码。

找不到路径

404 响应:

    {
        "error": {
            "message": "The requested path does not exist",
            "code": "PathNotFoundError"
        }
    }

请求的查询路径不存在。 验证你要访问的终结点的 URL 拼写,并确保使用受支持的 HTTP 谓词。

缺少 JSON 或 Content-Type

200 响应:空正文

如果发送的 POST 请求缺少 JSON 正文或 "Content-Type: application/json" 标头,则会返回空的 200 响应。

工作区中无数据

204 响应:空正文

如果工作空间中没有任何数据,则会返回“204 无内容”。