As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tratamento de erros e solução de problemas do Amazon EventBridge Pipes
Compreender os tipos de erros que EventBridge os tubos podem encontrar e EventBridge como lidar com esses erros pode ajudá-lo a solucionar problemas com seus tubos.
Repetir o comportamento e o tratamento de erros
EventBridge O Pipes tenta automaticamente o enriquecimento e a invocação de destino em qualquer falha que possa ser repetida com o serviço de origem, AWS
os serviços de enriquecimento ou de destino, ou. EventBridge No entanto, se houver falhas retornadas pelo enriquecimento ou pelas implementações do cliente de destino, o throughput da sondagem de pipes diminuirá gradualmente. Para erros 4xx quase contínuos (como problemas de autorização IAM ou falta de recursos), o canal pode ser desativado automaticamente com uma mensagem explicativa no. StateReason
Erros de invocação de pipes e comportamento de repetição
Ao invocar um pipe, dois tipos principais de erros podem ocorrer: erros internos do pipe e erros de invocação do cliente.
Erros internos do pipe
Os erros internos do Pipe são erros resultantes de aspectos da invocação gerenciados pelo serviço EventBridge Pipes.
Estes tipos de erros podem incluir problemas como:
Uma falha de HTTP conexão ao tentar invocar o serviço de destino do cliente
Uma queda transitória na disponibilidade do próprio serviço de pipe.
Em geral, o EventBridge Pipes repete erros internos um número indefinido de vezes e para somente quando o registro expira na fonte.
Para canais com uma fonte de fluxo, o EventBridge Pipes não contabiliza novas tentativas de erros internos em relação ao número máximo de tentativas especificado na política de repetição da fonte de fluxo. Para pipes com uma SQS fonte da Amazon, o EventBridge Pipes não contabiliza novas tentativas de erros internos em relação à contagem máxima de recebimento da SQS fonte da Amazon.
Erros de invocação do cliente
Os erros de invocação do cliente são erros resultantes da configuração ou do código gerenciado pelo usuário.
Estes tipos de erros podem incluir problemas como:
Permissões insuficientes no pipe para invocar o destino.
Um erro lógico em um endpoint Lambda, Step API Functions, destination ou Gateway do cliente invocado de forma síncrona. API
Para erros de invocação do cliente, o EventBridge Pipes faz o seguinte:
Para tubos com uma fonte de fluxo, o EventBridge Pipes tenta novamente até os tempos máximos de repetição configurados na política de repetição de tubulação ou até que a idade máxima do registro expire, o que ocorrer primeiro.
Para pipes com uma SQS fonte da Amazon, o EventBridge Pipes repete um erro do cliente até a contagem máxima de recebimento na fila de origem.
Para canais com uma fonte Apache Kafka ou Amazon MQ, EventBridge repita os erros do cliente da mesma forma que repete os erros internos.
Para pipes com destinos de computação, você deve invocar o pipe de forma síncrona para que o EventBridge Pipes esteja ciente de quaisquer erros de tempo de execução gerados pela lógica de computação do cliente e tente novamente esses erros. Os Pipes não podem repetir os erros gerados pela lógica de um fluxo de trabalho padrão do Step Functions, pois esse destino deve ser invocado de forma assíncrona.
Para fontes da Amazon SQS e de streaming, como Kinesis e DynamoDB, o EventBridge Pipes oferece suporte ao tratamento parcial de falhas de destino em lote. Para obter mais informações, consulte Lote com falha parcial.
DLQComportamento do tubo
Um pipe herda o comportamento da fila de letras mortas (DLQ) da fonte:
Se a SQS fila de origem da Amazon estiver configuradaDLQ, as mensagens serão entregues automaticamente após o número especificado de tentativas.
Para fontes de stream, como streams do DynamoDB e do Kinesis, você pode DLQ configurar um para os eventos de canal e rota. As fontes de stream do DynamoDB e do Kinesis oferecem suporte a SNS filas SQS da Amazon e tópicos da Amazon como destinos. DLQ
Se você especificar um DeadLetterConfig
para um canal com uma fonte do Kinesis ou do DynamoDB, certifique-se de que a MaximumRecordAgeInSeconds
propriedade no canal seja menor que a do evento de origem. MaximumRecordAge
MaximumRecordAgeInSeconds
controla quando o pipe poller desistirá do evento e o entregará ao DLQ e MaximumRecordAge
controla por quanto tempo a mensagem ficará visível no fluxo de origem antes de ser excluída. Portanto, MaximumRecordAgeInSeconds
defina um valor menor que a fonte para que MaximumRecordAge
haja um tempo adequado entre o envio do evento e o DLQ momento em que ele é automaticamente excluído pela fonte para que você determine por que o evento foi para DLQ o.
Para fontes do Amazon MQ, elas DLQ podem ser configuradas diretamente no agente de mensagens.
EventBridge O Pipes não suporta first-in first out (FIFO) DLQs para fontes de stream.
EventBridge O Pipes não oferece suporte DLQ para fontes de MSK stream da Amazon e de streams autogerenciados do Apache Kafka.
Estados de falha do pipe
Criar, excluir e atualizar pipes são operações assíncronas que podem resultar em um estado de falha. Da mesma forma, um pipe pode ser desativado automaticamente devido a falhas. Em todos os casos, o pipe StateReason
fornece informações para ajudar a solucionar a falha.
Veja a seguinte lista de valores StateReason
possíveis:
Fluxo não encontrado. Para continuar o processamento, exclua o pipe e crie um novo.
O Pipes não tem permissões necessárias para realizar operações de fila (sqs:ReceiveMessage, sqs: DeleteMessage e sqs:) GetQueueAttributes
Erro de conexão. Você VPC deve ser capaz de se conectar aos canos. Você pode fornecer acesso configurando um NAT gateway ou um VPC endpoint para canalizar dados. Para saber como configurar o NAT gateway ou o VPC Endpoint para pipes-data, consulte a documentação. AWS
MSKo cluster não tem grupos de segurança associados a ele
Um pipe pode ser interrompido automaticamente com uma atualização StateReason
. As possíveis causas incluem:
Um fluxo de trabalho padrão do Step Functions configurado como um enriquecimento.
Um fluxo de trabalho padrão do Step Functions configurado como um destino a ser invocado de forma síncrona.
Falhas de criptografia personalizadas
Se você configurar uma fonte para usar uma chave de criptografia AWS KMS personalizada (CMK), em vez de uma AWS KMS chave AWS gerenciada, você deve dar explicitamente a permissão de decodificação da Função de Execução do canal. Para fazer isso, inclua a seguinte permissão adicional na CMK política personalizada:
{ "Sid": "Allow Pipes access", "Effect": "Allow", "Principal": {
"AWS": "arn:aws:iam::01234567890:role/service-role/Amazon_EventBridge_Pipe_DDBStreamSourcePipe_12345678"
}, "Action": "kms:Decrypt", "Resource": "*" }
Substitua o perfil acima pelo perfil de execução do seu pipe.
Em seguida, certifique-se de que as mesmas permissões para KMS sejam adicionadas à sua função de execução do Pipe.
Isso vale para todas as fontes de tubulação com AWS KMS CMK, incluindo:
Amazon DynamoDB Streams
Amazon Kinesis Data Streams
Amazon MQ
Amazon MSK
Amazon SQS