Como lidar com falhas na transformação de dados
Se a invocação da função do Lambda falhar devido ao tempo limite da rede ou porque você atingiu o limite de invocações do Lambda, o Amazon Data Firehose repetirá a invocação três vezes, por padrão. Se a invocação não tiver êxito, o Amazon Data Firehose ignorará esse lote de registros. Os registros ignorados são tratados como registros com falha no processamento. É possível especificar ou substituir as opções de nova tentativa usando a API CreateDeliveryStream ou UpdateDestination
. Para esse tipo de falha, é possível registrar em log os erros de invocação no Amazon CloudWatch Logs. Para ter mais informações, consulte Monitoramento do Amazon Data Firehose usando o CloudWatch Logs.
Se o status da transformação de dados de um registro for ProcessingFailed
, o Amazon Data Firehose considerará que houve falha no processamento do registro. Para esse tipo de falha, é possível emitir logs de erros para o Amazon CloudWatch Logs a partir da função do Lambda. Para obter informações, consulte Acessar o Amazon CloudWatch Logs para o AWS Lambda no Guia do desenvolvedor do AWS Lambda.
Se a transformação de dados apresentar falha, os registros com falha de processamento serão entregues ao bucket do S3 na pasta processing-failed
. Os registros têm o seguinte formato:
{ "attemptsMade": "
count
", "arrivalTimestamp": "timestamp
", "errorCode": "code
", "errorMessage": "message
", "attemptEndingTimestamp": "timestamp
", "rawData": "data
", "lambdaArn": "arn
" }
attemptsMade
-
O número de tentativas de solicitações de invocação.
arrivalTimestamp
-
A hora em que o registro foi recebido pelo Amazon Data Firehose.
errorCode
-
O código de erro de HTTP retornado pelo Lambda.
errorMessage
-
A mensagem de erro retornada pelo Lambda.
attemptEndingTimestamp
-
O momento em que o Amazon Data Firehose parou de tentar as invocações do Lambda.
rawData
-
Os dados de registro com codificação base64.
lambdaArn
-
O nome do recurso da Amazon (ARN) da função do Lambda.