Tempo de espera

Os tempos de execução da consulta podem variar muito com base em:

  • A complexidade da consulta.
  • A quantidade de dados que estão sendo analisados.
  • A carga no sistema no momento da consulta.
  • A carga no espaço de trabalho no momento da consulta.

Talvez você queira personalizar o tempo limite da consulta. O tempo limite padrão é de 3 minutos. O tempo limite máximo é de 10 minutos.

Cabeçalho da solicitação de tempo limite

Para definir o tempo limite, use o Prefer cabeçalho na solicitação HTTP usando a preferência padrão wait . Para obter mais informações, consulte este site. O Prefer cabeçalho coloca um limite superior, em segundos, sobre quanto tempo o cliente espera que o serviço processe a consulta.

Resposta

Se uma consulta demorar mais do que o tempo limite especificado (ou o tempo limite padrão, se não especificado), ela falhará com um código de status de 504 Gateway Timeout.

Por exemplo, a solicitação a seguir permite uma idade máxima de tempo limite do servidor de 30 segundos:

POST https://api.loganalytics.azure.com/v1/workspaces/{workspaceId}/query
Authorization: Bearer {token}
Prefer: wait=30

{
    "query" : "Heartbeat | count"
}

Erros comuns de API

Esta secção contém uma lista não exaustiva de erros comuns conhecidos, as suas causas e possíveis soluções. Inclui também respostas bem-sucedidas que frequentemente indicam um problema com o pedido (como um cabeçalho em falta) ou comportamentos inesperados.

Erro de sintaxe de consulta

Resposta 400:

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

A cadeia de consulta está mal formada. Verifique se há espaços extra, pontuação ou erros ortográficos.

Não é fornecida autenticação

Resposta 401:

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

Inclua uma forma de autenticação com o seu pedido, como o cabeçalho "Authorization: Bearer <token>".

Token de autenticação inválido

Resposta 403:

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

O token é deformado ou de outra forma inválido. Este erro pode ocorrer se copiar e colar manualmente o token e adicionar ou cortar caracteres ao payload. Verifique se o token está exatamente como recebido do Microsoft Entra ID.

Audiência do token inválida

Resposta 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.windows.net/','https://management.azure.com/'."
    }
}

Este erro ocorre se tentar usar o fluxo de credenciais do cliente OAuth2 para obter um token para a API e depois usar esse token através do endpoint do Azure Resource Manager. Use uma das URLs indicadas como recurso no seu pedido de token se quiser usar o endpoint do Azure Resource Manager. Em alternativa, use o endpoint direto da API com um fluxo OAuth2 diferente para autorização.

Credenciais do cliente para API direta

Resposta 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"
        }
    }
}

Este erro pode ocorrer se tentar usar as credenciais do cliente através do endpoint da API direta. Se estiveres a usar o endpoint da API direta, usa um fluxo OAuth2 diferente para autorização. Se tiver de usar credenciais de cliente, utilize o endpoint API do Azure Resource Manager.

Permissões insuficientes

Resposta 403:

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

O token que apresentou para autorização pertence a um utilizador que não tem acesso suficiente a este privilégio. Verifique se o GUID da sua área de trabalho e o pedido do token estão corretos. Se necessário, conceda privilégios IAM no seu espaço de trabalho à aplicação Microsoft Entra que criou como Contribuidor.

Note

Quando você usa a autenticação do Microsoft Entra, pode levar até 60 minutos para que a API REST do Application Insights reconheça novas permissões de controle de acesso baseadas em função. Enquanto as permissões se propagam, as chamadas à API REST podem falhar com o código de erro 403.

Código de autorização incorreto

Resposta 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
    ]
}

O código de autorização submetido no pedido de token estava ou obsoleto ou já tinha sido usado. Autorize novamente através do ponto final de autorização do Microsoft Entra para obter um novo código.

Caminho não encontrado

Resposta 404:

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

O caminho de consulta solicitado não existe. Verifica a grafia do URL do endpoint onde estás a chegar e se estás a usar um verbo HTTP suportado.

JSON ou Tipo de Conteúdo em falta

resposta 200: Corpo vazio

Se enviar um pedido POST sem o corpo JSON ou sem o cabeçalho Content-Type: application/json, a API devolve uma resposta vazia com o código 200.

Sem dados no espaço de trabalho

Resposta 204: Corpo vazio

Se um espaço de trabalho não tiver dados, a API devolve 204 Sem Conteúdo.