Partilhar via


Solucionar erros usando o Azure Resource Graph

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

Localizando 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 apresenta os detalhes da consulta que falhou. Essas informações indicam o problema para que ele possa ser corrigido e uma consulta posterior seja bem-sucedida.

Erros gerais

Cenário: solicitações limitadas

Problema

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

Motivo

O Azure Resource Graph aloca um número de quota para cada utilizador com base numa janela temporal. Por exemplo, um usuário pode enviar no máximo 15 consultas a cada janela de 5 segundos sem ser limitado. O valor da quota é determinado por muitos fatores e está sujeito a alterações. Para obter mais informações, consulte Limitação no Azure Resource Graph.

Resolução

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

Cenário: Demasiadas subscrições

Problema

Os 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.

Motivo

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

Resolução

Solicitações em lote para a consulta com um subconjunto de assinaturas para permanecer abaixo do limite de 1.000 assinaturas. A solução está usando o parâmetro Subscription 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 do tipo de conteúdo sem suporte

Problema

Os clientes que consultam a API REST do Azure Resource Graph obtêm uma resposta 500 (Erro Interno do Servidor) retornada.

Motivo

A API REST do Azure Resource Graph suporta apenas um Content-Type de application/json. Algumas ferramentas ou agentes REST usam como padrão text/plaino , que não é suportado pela API REST.

Resolução

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

Cenário: Sem 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 recebem uma resposta 403 (Proibida).

Motivo

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 à qual o cliente que executa a consulta tenha pelo menos acesso de leitura. Para obter mais informações, veja Permissões no Azure Resource Graph.

Próximos passos

Se não viu o problema ou não conseguiu resolvê-lo, visite um dos seguintes canais para obter mais suporte:

  • Obtenha respostas de especialistas do Azure através dos Fóruns do Azure.
  • Conecte-se com o @AzureSupport - a conta oficial do Microsoft Azure para melhorar 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.