Esta página mostra como resolver problemas que pode encontrar quando usa o Eventarc.
Para problemas específicos do destino que também pode encontrar, consulte a resolução de problemas para:
Fornecedor do Eventarc
Esta secção fornece sugestões de resolução de problemas na origem dos eventos (o fornecedor).
O fornecedor não existe
Verifique se o fornecedor existe e se especificou os filtros de acionamento adequadamente.
Os eventos são produzidos a partir do fornecedor, mas não são recebidos no destino
Verifique se está a filtrar eventos de fornecedores que se encontram numa região suportada para o destino. Para mais informações, consulte as localizações suportadas pelo Eventarc e compreenda as localizações do Eventarc.
O acionador não está a enviar eventos
Verifique se o fornecedor está a gerar eventos. Verifique os registos de auditoria do Cloud e certifique-se de que o serviço monitorizado está a escrever registos. Se os registos forem gravados, mas os eventos não forem enviados, contacte o apoio técnico.
Verifique se existe um tópico do Pub/Sub com o mesmo nome do acionador.
Para apresentar uma lista de acionadores em todas as localizações, execute:
gcloud eventarc triggers list --location=-
Para listar tópicos do Pub/Sub, execute:
gcloud pubsub topics list
Verifique se o nome do tópico Pub/Sub inclui o nome do acionador criado. Se o tópico do Pub/Sub estiver em falta, crie um tópico quando criar o acionador.
Para descrever acionadores e detetar problemas com a condição do acionador, execute o seguinte comando:
gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION
Substitua o seguinte:
TRIGGER_ID
: o ID do acionador ou um identificador totalmente qualificado.LOCATION
: a localização do acionador do Eventarc.
O comando anterior devolve a condição do acionador. Se houver um problema com o tópico Pub/Sub, é devolvida uma das seguintes condições:
conditions: transport.pubsub.topic: code: NOT_FOUND message: Pub/Sub topic not found. Try recreating the trigger.
ou
conditions: transport.pubsub.topic: code: UNKNOWN message: Pub/Sub topic status is unknown. Try requesting the trigger description again.
Se aplicável, faça o seguinte:
Se for devolvido
Pub/Sub topic not found
, recrie o acionador para um fornecedor, um tipo de evento e um destino específicos](/eventarc/standard/docs/event-providers-targets#triggers) e, em seguida, crie o tópico.Se for devolvido
Pub/Sub topic status is unknown
, execute o comando para descrever novamente o acionador.Se o problema persistir, contacte o apoio técnico. Para mais informações, consulte o artigo Faça a gestão dos acionadores.
Verifique o estado do tópico Pub/Sub:
Valide a configuração do tópico Pub/Sub. Aceda à página Tópicos.
Monitorize se as mensagens são publicadas no tópico com a métrica:
topic/send_message_operation_count
. Se as mensagens não forem publicadas no tópico, verifique os registos de auditoria da nuvem e certifique-se de que o serviço monitorizado está a emitir registos. Se os registos forem gravados, mas os eventos não forem enviados, contacte o apoio técnico.Monitorize se as mensagens são enviadas com êxito com a métrica:
subscription/push_request_count
porresponse_code
. Se forem comunicados erros de envio, verifique os registos do serviço. Se o ponto final de receção devolver um código de estado não OK, indica que o código do Cloud Run não está a funcionar como esperado e tem de contactar o apoio técnico.
Acionador do Eventarc
Esta secção fornece sugestões de resolução de problemas relacionados com o acionador.
Erros de autorização recusada
Se encontrar um erro
Failed to load service details: permission denied
, confirme se as autorizações de acionador estão configuradas corretamente e se à conta de serviço do Pub/Sub foi concedido o papeliam.serviceAccountTokenCreator
. Para mais informações, consulte o artigo Controlo de acesso.Se encontrar o seguinte erro ao tentar criar um acionador, aguarde alguns minutos (até sete) e, em seguida, tente criar o acionador novamente:
Permission denied while using the Eventarc Service Agent. If you recently started to use Eventarc, it may take a few minutes before all necessary permissions are propagated to the Service Agent. Otherwise, verify that it has Eventarc Service Agent role.
Um agente de serviço atua como a identidade de um determinado serviço Google Cloud para um projeto específico. Para mais informações, consulte o artigo Agentes de serviço e veja as autorizações para a função de agente de serviço do Eventarc (
roles/eventarc.serviceAgent
).Para verificar se o agente de serviço do Eventarc existe no seu Google Cloud projeto e tem a função necessária, conclua os seguintes passos:
Na Google Cloud consola, aceda à página IAM.
No separador Autorizações, selecione a caixa de verificação Incluir concessões de funções fornecidas pela Google.
Na lista de responsáveis, localize o agente do serviço Eventarc, que usa este formato:
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
Verifique se o agente de serviço tem a função de agente de serviço do Eventarc. Se o agente do serviço não tiver a função, conceda a função.
Se estiver a tentar usar uma conta de serviço entre projetos e encontrar um erro de acesso negado para
iam.serviceAccounts.getAccessToken
ouiam.serviceAccounts.actAs
, ou se receber uma mensagem de erro semelhante a...cross-project service accounts are disabled
ouFailed to impersonate...
, confirme que as autorizações estão configuradas corretamente. Para mais informações, consulte o artigo Use uma conta de serviço entre projetos.
O tópico do Pub/Sub não apresenta a chave CMEK
A ativação de um canal do Eventarc com uma chave de encriptação gerida pelo cliente (CMEK) protege o tópico do Pub/Sub usado como uma camada de transporte pelo Eventarc Standard. No entanto, a chave CMEK não é apresentada através da Google Cloud consola. Pode verificar se uma chave CMEK está ativada para o tópico do Pub/Sub através da Google Cloud CLI:
Descreva o acionador do Eventarc:
gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION
Substitua o seguinte:
TRIGGER_ID
: o ID do seu acionador do EventarcLOCATION
: a localização do acionadorO ID do tópico Pub/Sub é devolvido. Por exemplo:
topic: projects/PROJECT_ID/topics/TOPIC_ID
Descreva o tópico do Pub/Sub:
gcloud pubsub topics describe TOPIC_ID
Substitua
TOPIC_ID
pelo ID do tópico do Pub/Sub obtido no passo anterior.É devolvido o nome da chave CMEK. Por exemplo:
kmsKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME/grants/GRANT_ID
Cobranças inesperadas ao usar o Eventarc
Quando criar um acionador, verifique se os filtros configurados podem levar a que os acionadores sejam acionados indefinidamente. Para ajudar a evitar cobranças inesperadas na sua fatura, defina orçamentos e alertas através da consola de faturação do Google Cloud. Para mais informações, consulte Crie um orçamento.
Informações relacionadas
- Para saber mais sobre o Eventarc, consulte a vista geral.
- Para ver um tutorial sobre a resolução de problemas do Eventarc, consulte o artigo Depure um serviço do Cloud Run com o Eventarc.
- Para problemas de publicação de eventos, consulte o artigo Resolva problemas de publicação de eventos.
- Para receber ajuda adicional, consulte Obtenha apoio técnico.