Consulte os conectores compatíveis com a integração de aplicativos.
Introdução ao tratamento de erros
Na integração de aplicativos, erros podem ocorrer durante o teste e a publicação de uma integração ou durante a execução dela. Esses erros podem ocorrer devido a vários problemas no lado do cliente e do servidor e são classificados da seguinte forma:
- Erros permanentes:todos os erros do lado do cliente, como falhas de autenticação e erros de validação de dados, são considerados permanentes. Os erros permanentes causam falhas permanentes nas tarefas.
- Erros temporários:todos os erros no lado do servidor, como HTTP 503 (serviço indisponível) e HTTP 400 (solicitações inválidas), são considerados temporários. Erros temporários causam falhas temporárias nas tarefas.
As mensagens de erro aparecem nos seguintes locais:
- Registros de execução: exibe os erros encontrados durante a execução de uma integração. Cada execução de uma integração tem uma entrada de registro separada. Para informações sobre a página de registros de execução, consulte Registros de execução.
- Página do editor de integração: exibe os erros encontrados ao publicar uma integração. Os erros são exibidos na parte inferior da página do editor de integração. Para informações sobre a página do editor de integração, consulte Editor de integração.
Saiba mais sobre a lista de códigos de erro em Códigos de erro.
Métodos de tratamento de erros
A integração de aplicativos oferece suporte aos seguintes métodos de tratamento de erros para gerar, capturar, tentar novamente e personalizar os erros encontrados na integração:
- Estratégias de tratamento de erros: a estratégia de tratamento de erros de uma tarefa especifica a ação a ser realizada se a tarefa falhar devido a um erro temporário. É possível especificar diferentes estratégias de tratamento de erros para os modos de execução síncrono e assíncrono.
- Coletor de erros: define uma maneira personalizada de lidar com a falha de um acionador, tarefa ou condição de borda identificada na sua integração. É possível definir um ou mais coletores de erros em uma única integração para lidar com erros de tarefas e/ou falhas de execução. Cada coletor de erros pode ser invocado usando um gatilho, chamado gatilho do coletor de erros, para executar o conjunto de tarefas de integração configuradas personalizadas para lidar com o erro.
É possível usar métodos de tratamento de erros para os modos síncrono e assíncrono de execução de integração:
-
Execuções síncronas:nesse modo, o resultado da integração fica disponível logo após a execução dela. Esse modo é útil nas situações em que você quer gerar o resultado da execução
imediatamente após a integração. Os gatilhos que executam a integração no modo síncrono incluem o seguinte:
- Testar ou publicar uma integração
- Chamar a API
projects.locations.integrations.execute
- Chamar a integração de uma subintegração no modo síncrono
-
Execuções assíncronas:usam o modelo disparar e esquecer. O modo assíncrono é útil em cenários
em que as integrações podem levar muito tempo para serem executadas, ou em que o resultado da execução não é necessário
logo depois da execução. Os gatilhos que executam a integração no modo assíncrono incluem o seguinte:
- Todas as execuções não síncronas são executadas no modo assíncrono. Alguns dos modos assíncronos comuns incluem, entre outros:
- As execuções que são retomadas de uma suspensão ou uma tarefa de aprovação também são executadas no modo acirronômico, mesmo que a execução inicial tenha sido síncrona.
Prática recomendada
Use a estratégia de tratamento de erros e o coletor de erros na sua integração. Para qualquer erro, a integração segue a estratégia definida na seção de tratamento de erros. Depois de esgotar a estratégia de tratamento de erros configurada, a lógica do coletor de erros é acionada. Use variáveis do sistema para capturar o valor do código e da mensagem de erro a serem enviados ao fluxo de captura de erros.
Exemplo
Suponha que você tenha um fluxo de integração para criar um pedido. Os novos pedidos são criados no Cloud SQL para MySQL. O fluxo usa uma tarefa de conector (Criar um pedido neste exemplo) para se conectar ao Cloud SQL para MySQL. Em caso de interrupção do banco de dados, a tarefa do conector gera erros ao inserir novos pedidos no banco de dados. Como prática recomendada, use a estratégia de tratamento de erros e o coletor de erros na sua integração.
Para adicionar a estratégia de tratamento de erros, clique na tarefa do conector no designer de integração para abrir o painel de configuração da tarefa. O diagrama a seguir mostra a estratégia de tratamento de erros configurada para a tarefa do conector Criar um pedido:
Para adicionar a estratégia de tratamento de erros, clique na tarefa Call REST Endpoint no designer de integração para abrir o painel de configuração da tarefa. O diagrama a seguir mostra a estratégia de tratamento de erros configurada para a tarefa Call REST Endpoint:
Para adicionar o gerenciador de erros, clique na tarefa Call REST Endpoint no designer de integração para abrir o painel de configuração da tarefa. Na seção Error Catcher, adicione os detalhes do coletor de erros. O diagrama a seguir mostra o coletor de erros configurado para a tarefa Call REST Endpoint:
Códigos de erro
A tabela a seguir descreve os erros que podem ser encontrados e as causas correspondentes para eles. A integração de aplicativos usa os códigos de erro canônicos definidos em google.rpc.Code
.
Para informações sobre erros de integração de aplicativos e diferentes estratégias de tratamento de erros, consulte Erros e tratamento de erros.
Tipo de exceção padrão | Código canônico | Código HTTP | Descrição |
---|---|---|---|
FailedPreconditionException | FAILED_PRECONDITION |
400 | A solicitação não pode ser executada no estado atual do sistema. |
BadRequestException | INVALID_ARGUMENT |
400 | O cliente especificou um argumento inválido. Verifique a mensagem e os detalhes do erro para mais informações. |
UnauthenticatedException | UNAUTHENTICATED |
401 | Solicitação não autenticada devido ao token OAuth ausente, inválido ou expirado. |
ForbiddenException | PERMISSION_DENIED |
403 | O cliente não tem permissão suficiente. Isso pode acontecer se o token OAuth não tiver os escopos certos, se o cliente não tiver as permissões necessárias ou se a API não tiver sido ativada. |
NotFoundException | NOT_FOUND |
404 | Um recurso especificado não foi encontrado. |
AlreadyExistsException | ALREADY_EXISTS |
409 | O recurso que um cliente tentou criar já existe. |
InternalError | INTERNAL |
500 | Erro interno do servidor. Geralmente, um bug do servidor. Isso pode acontecer se alguma tarefa ou acionador estiver configurado incorretamente. |
UnimplementedException | UNIMPLEMENTED |
501 | Método da API não implementado pelo servidor. |
ServiceUnavailableException | UNAVAILABLE |
503 | Serviço indisponível. Geralmente, o servidor está desativado. |
AbortedException | ABORTED |
409 | O tamanho da resposta é muito grande. |