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:
  • 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:

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:

Estratégia de processamento de erros para a tarefa Criar um conetor de encomendas Estratégia de processamento de erros para a tarefa Criar um conetor de encomendas

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:

Estratégia de processamento de erros para a tarefa Call REST Endpoint Estratégia de processamento de erros 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:

Captador de erros para a tarefa Call REST Endpoint Captador de erros 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.