Amazon web services 在AWS消防软管中添加故障处理

Amazon web services 在AWS消防软管中添加故障处理,amazon-web-services,aws-lambda,amazon-redshift,amazon-sqs,amazon-kinesis-firehose,Amazon Web Services,Aws Lambda,Amazon Redshift,Amazon Sqs,Amazon Kinesis Firehose,我正在使用Lambda通过消防软管向红移发送批处理消息。根据,如果出现一些传递问题(邮件中毒、端点关闭等),Firehose将继续尝试24小时并删除邮件。我想在X次失败的尝试之后将失败的消息移动到另一个队列(本质上类似)。最好是不交叉检查目标红移数据库的最佳方法是什么?从您的链接中,我假设您感兴趣的是跟踪将记录放入消防软管动力流的故障,而不是动力->S3->红移流 当您初始化Firehose客户端时,实际上可以指定要进行的重试次数。当接收到异常(未能将记录放入流中)时,Firehose将自动尝试

我正在使用Lambda通过消防软管向红移发送批处理消息。根据,如果出现一些传递问题(邮件中毒、端点关闭等),Firehose将继续尝试24小时并删除邮件。我想在X次失败的尝试之后将失败的消息移动到另一个队列(本质上类似)。最好是不交叉检查目标红移数据库的最佳方法是什么?

从您的链接中,我假设您感兴趣的是跟踪将记录放入消防软管动力流的故障,而不是动力->S3->红移流

当您初始化Firehose客户端时,实际上可以指定要进行的重试次数。当接收到异常(未能将记录放入流中)时,Firehose将自动尝试最多您设置的最大重试次数;这是在SDK中秘密完成的,因此在函数中出现异常之前,您不会知道已超过重试次数。当您获得此异常时,可以假定已超过重试次数。此异常处理可以包括将消息发送到SQS队列


您可以在此处了解有关Firehose客户端配置的更多信息,这并不广为人知,但非常有用

这可以通过以下方式进行,而不是直接从消防水带进行

  • 您可以使用lambda函数调用firehouse,该函数将写入S3
  • 创建从消防软管读取的运动分析
  • 根据kinesis分析配置不同的流
  • 成功的记录(流中)将移动到消防软管,消防软管将加载到红移
  • 错误记录(错误流)将加载到不同的消防软管中,该消防软管将加载到S3中
  • 您已将成功记录加载到红移中,并将不成功记录过滤到S3


    这是我们遵循的方法,如果您需要对此进行任何澄清,请告诉我

    我正在寻找运动->S3->红移流中的失败+1用于客户端配置链接。希望python sdk中也有类似的功能。