首页 > 解决方案 > 我可以通过给定的 AWS 集成将 SNS(或 SQS)消息持久保存到 S3 吗?

问题描述

我想将所有 SNS 消息保存到 S3,以便保留完整的历史记录。目的是有能力在诊断和发布时回顾过去,稍后索引并使用它来审计、重放、重建数据等。现在,我只想将它们转储到 S3(便宜),稍后我会在需要的时候挖掘它。

我可以使用 AWS 提供的集成来完成此任务,还是需要编写自己的 HTTP 服务或 Lambda?

如果可以避免的话,我宁愿不必编写和维护 lambda 或服务。

到目前为止,我所看到的是,我可以将HTTP 端点设置为 SNS 订阅者,但它的消息格式与S3 http api不同,因此需要 lambda 来转换它。也是初始订阅者确认消息。这是不可能的,我应该开始使用自己的服务/lambda吗?

标签: amazon-web-servicesamazon-s3amazon-sqsamazon-sns

解决方案


据我所知,这是不可能的。

编写一个可以持久保存您的 SNS 或 SQS 消息的 lambda 是非常简单的。

您还可以使用sqs-s3-logger 之类的东西(请注意,此代码基于您无法从 SQS 触发 Lambda 的事实,现在这是可能的,因此您不需要 cron 作业)


推荐阅读