Consulte os conetores suportados para a solução Application Integration.
Introdução ao processamento de erros
Na integração de aplicações, podem ocorrer erros quando está a testar e publicar uma integração ou durante a execução de uma integração. Estes erros podem ocorrer devido a vários problemas do lado do cliente e do lado do servidor, e são classificados de forma geral 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 erros permanentes. Os erros permanentes causam falhas permanentes das tarefas.
- Erros temporários: Todos os erros do lado do servidor, como HTTP 503 (serviço indisponível) e HTTP 400 (pedido inválido), são considerados erros temporários. Os erros temporários causam falhas temporárias de tarefas.
As mensagens de erro são apresentadas nas seguintes localizações:
- Página de registos de execução: apresenta erros encontrados durante a execução de uma integração. Cada execução de uma integração tem uma entrada de registo separada. Para obter informações sobre a página de registos de execução, consulte o artigo Registos de execução.
- Página do editor de integração: apresenta os erros encontrados quando publica uma integração. Os erros são apresentados na parte inferior da página do editor de integração. Para informações sobre a página do editor de integração, consulte o artigo Editor de integração.
Para obter informações sobre a lista de códigos de erro que pode encontrar, consulte o artigo Códigos de erro.
Métodos de processamento de erros
A integração de aplicações suporta os seguintes métodos de processamento de erros para lançar, capturar, repetir e personalizar os erros encontrados na sua integração:
- Estratégias de processamento de erros: a estratégia de processamento de erros de uma tarefa especifica a ação a realizar se a tarefa falhar devido a um erro temporário. Pode especificar diferentes estratégias de processamento de erros para os modos de execução síncrono e assíncrono.
- Gestor de erros: o gestor de erros define uma forma personalizada de processar a falha de um acionador, uma tarefa ou uma condição de limite identificados na sua integração. Pode definir um ou mais gestores de erros numa única integração para processar erros de tarefas e/ou falhas de execução. Cada gestor de erros pode ser invocado através de um acionador, denominado acionador do gestor de erros, para executar o conjunto de tarefas de integração configuradas e personalizadas para processar o erro.
Pode usar métodos de processamento de erros para os modos síncrono e assíncrono de execução da integração:
-
Execuções síncronas: no modo síncrono, o resultado da execução da integração fica disponível pouco depois da execução da integração. O modo síncrono é útil em cenários em que quer o resultado da execução imediatamente após a execução da integração. Os acionadores que executam a integração no modo síncrono incluem o seguinte:
- Teste ou publique uma integração
- Chame a API
projects.locations.integrations.execute
- Chame a integração a partir de uma subintegração no modo síncrono
-
Execuções assíncronas: as execuções assíncronas usam o modelo de acionamento e esquecimento. O modo assíncrono é útil em cenários em que as integrações podem demorar muito tempo a ser executadas ou o resultado da execução não é necessário imediatamente após a execução da integração. Os acionadores que executam a integração no modo assíncrono incluem o seguinte:
- Todas as execuções que não sejam síncronas são executadas no modo assíncrono. Alguns dos modos assíncronos comuns incluem, entre outros:
- As execuções retomadas a partir de uma suspensão ou de uma tarefa de aprovação também são executadas no modo assíncrono, mesmo que a execução inicial tenha sido no modo síncrono.
Prática recomendada
Use a estratégia de processamento de erros e o captador de erros na sua integração. Para qualquer erro, a integração segue a estratégia definida na secção de processamento de erros. Depois de esgotar a estratégia de processamento de erros configurada, é acionada a lógica de captura de erros. Use variáveis do sistema para capturar o valor do código de erro e da mensagem de erro para enviar para o fluxo de captura de erros.
Exemplo
Suponhamos que tem um fluxo de integração para criar uma encomenda. As novas encomendas são criadas no Cloud SQL para MySQL. O fluxo usa uma tarefa de conetor (Criar uma encomenda neste exemplo) para estabelecer ligação ao Cloud SQL para MySQL. Em caso de indisponibilidade da base de dados, a tarefa do conetor gera erros ao inserir novas encomendas na base de dados. Como prática recomendada, tem de usar a estratégia de processamento de erros e o captador de erros na sua integração.
Para adicionar a estratégia de processamento de erros, clique na tarefa do conetor no criador de integrações para abrir o painel de configuração da tarefa. O diagrama seguinte mostra a estratégia de processamento de erros configurada para a tarefa do conetor Criar uma encomenda:
Para adicionar a estratégia de processamento de erros, clique na tarefa Chamar ponto final REST no criador de integrações para abrir o painel de configuração da tarefa. O diagrama seguinte mostra a estratégia de processamento de erros configurada para a tarefa Call REST Endpoint:
Para adicionar o captador de erros, clique na tarefa Chamar ponto final REST no criador de integrações para abrir o painel de configuração da tarefa. Na secção Error Catcher, adicione os detalhes do Error Catcher. O diagrama seguinte mostra o captador de erros configurado para a tarefa Call REST Endpoint:
Códigos de erro
A tabela seguinte descreve os erros que pode encontrar e as causas correspondentes dos erros. A integração de aplicações usa os códigos de erro canónicos definidos em google.rpc.Code
.
Para obter informações sobre erros de integração de aplicações e diferentes estratégias de processamento de erros, consulte o artigo Erros e processamento de erros.
Tipo de exceção padrão | Código canónico | Código HTTP | Descrição |
---|---|---|---|
FailedPreconditionException | FAILED_PRECONDITION |
400 | Não é possível executar o pedido no estado atual do sistema. |
BadRequestException | INVALID_ARGUMENT |
400 | O cliente especificou um argumento inválido. Verifique a mensagem de erro e os detalhes do erro para mais informações. |
UnauthenticatedException | UNAUTHENTICATED |
401 | Pedido não autenticado devido a token OAuth em falta, inválido ou expirado. |
ForbiddenException | PERMISSION_DENIED |
403 | O cliente não tem autorização suficiente. Isto pode acontecer se o token OAuth não tiver os âmbitos corretos, o cliente não tiver as autorizações necessárias ou a API não tiver sido ativada. |
NotFoundException | NOT_FOUND |
404 | Não foi possível encontrar um recurso especificado. |
AlreadyExistsException | ALREADY_EXISTS |
409 | O recurso que um cliente tentou criar já existe. |
InternalError | INTERNAL |
500 | Erro interno do servidor. Normalmente, trata-se de um erro do servidor. Isto pode acontecer se alguma das tarefas ou acionadores estiver configurada incorretamente. |
UnimplementedException | UNIMPLEMENTED |
501 | Método de API não implementado pelo servidor. |
ServiceUnavailableException | UNAVAILABLE |
503 | Serviço indisponível. Normalmente, o servidor está inativo. |
AbortedException | ABORTED |
409 | O tamanho da resposta é demasiado grande. |