Compartilhar via


Soluções de erros usando o Azure Resource Graph

Você pode encontrar erros ao consultar recursos do Azure com o Azure Resource Graph. Este artigo descreve os vários erros que podem ocorrer e como resolvê-los.

Encontrar detalhes do erro

A maioria dos erros é o resultado de um problema durante a execução de uma consulta com o Azure Resource Graph. Quando uma consulta falha, o SDK fornece detalhes sobre a consulta com falha. Essa informação indica o problema para que ele possa ser corrigido e uma consulta posterior possa ser bem-sucedida.

Erros gerais

Cenário: Solicitações limitadas

Problema

Clientes que fazem consultas de recursos grandes ou frequentes têm solicitações limitadas.

Causa

O Azure Resource Graph aloca um número de cota para cada usuário com base em uma janela de tempo. Por exemplo, um usuário pode enviar no máximo 15 consultas dentro de cada janela de 5 segundos sem ser limitado. O valor da cota é determinado por muitos fatores e está sujeito a mudanças. Para saber mais, veja Limitação no Azure Resource Graph.

Resolução

Há vários métodos para lidar com solicitações limitadas:

Cenário: Muitas assinaturas

Problema

Clientes com acesso a mais de 1.000 assinaturas, incluindo assinaturas entre locatários com o Azure Lighthouse, não podem buscar dados em todas as assinaturas em uma única chamada para o Azure Resource Graph.

Causa

A CLI do Azure e o PowerShell encaminham apenas as 1.000 primeiras assinaturas para o Azure Resource Graph. A API REST para o Azure Resource Graph aceita um número máximo de assinaturas para realizar a consulta.

Resolução

Faça as solicitações em lote para a consulta com um subconjunto de assinaturas abaixo do limite de 1.000 assinaturas. A solução é usar o parâmetro Assinatura no PowerShell.

# Replace this query with your own
$query = 'Resources | project type'

# Fetch the full array of subscription IDs
$subscriptions = Get-AzSubscription
$subscriptionIds = $subscriptions.Id

# Create a counter, set the batch size, and prepare a variable for the results
$counter = [PSCustomObject] @{ Value = 0 }
$batchSize = 1000
$response = @()

# Group the subscriptions into batches
$subscriptionsBatch = $subscriptionIds | Group -Property { [math]::Floor($counter.Value++ / $batchSize) }

# Run the query for each batch
foreach ($batch in $subscriptionsBatch){ $response += Search-AzGraph -Query $query -Subscription $batch.Group }

# View the completed results of the query on all subscriptions
$response

Cenário: Cabeçalho REST de tipo de conteúdo sem suporte

Problema

Os clientes que consultam a API REST do Azure Resource Graph obtêm uma resposta 500 (Erro de servidor interno).

Causa

A API REST do Azure Resource Graph só dá suporte a um Content-Type de aplicativo/json. Algumas ferramentas REST ou agentes assumem como padrão texto/sem formatação, que não é suportado pela API REST.

Resolução

Valide se a ferramenta ou o agente que você está usando para consultar o Azure Resource Graph tem o cabeçalho da API REST Content-Type configurado para aplicativo/json.

Cenário: Nenhuma permissão de leitura para todas as assinaturas na lista

Problema

Os clientes que passam explicitamente uma lista de assinaturas com uma consulta do Azure Resource Graph obtêm uma resposta 403 (Proibido).

Causa

Se o cliente não tiver permissão de leitura para todas as assinaturas fornecidas, a solicitação será negada devido à falta de direitos de segurança apropriados.

Resolução

Inclua pelo menos uma assinatura na lista de assinaturas a qual o cliente que está executando a consulta tenha pelo menos acesso de leitura. Para saber mais, veja Permissões no Azure Resource Graph.

Próximas etapas

Se você não encontrou seu problema ou não conseguiu resolver seu problema, visite um dos seguintes canais para obter mais suporte:

  • Obtenha respostas de especialistas do Azure nos Fóruns do Azure.
  • Conecte-se ao @AzureSupport – a conta oficial do Microsoft Azure para aprimorar a experiência do cliente conectando a comunidade do Azure aos recursos certos: respostas, suporte e especialistas.
  • Se precisar de mais ajuda, você pode registrar um incidente de suporte do Azure. Vá para o site de suporte do Azure e selecione Obter Suporte.