是否可以将 SQS 消息属性添加到 S3 事件生成的 SQS 消息中



我想使用 AWS S3 允许某些用户将文件添加到 S3 存储桶。

然后,我想在添加新文件时生成 SQS 消息。

最后,我想使用 SQS 消息并使用特定类的后台作业辅助角色处理它。

我想使用 SQS 消息属性来确定我应该使用哪个后台作业辅助角色类进行处理。正如 SQS 消息属性文档所述:

消息的使用者可以使用消息属性 [...] 来帮助决定如何处理消息,而不必首先处理消息正文。

(通过 SQS 开发人员指南)

但是,在 S3 存储桶的属性下的高级设置下,事件设置似乎不会公开设置消息属性的方法。

有没有办法为从 S3 生成的事件逐个事件指定消息属性?

没有办法将自定义消息属性注入 S3 事件通知...但也请注意,您可能会误解消息属性的用途。

消息属性 [...] 可以被消息的使用者使用

这意味着它们为使用者提供了一种机制,以便在使用者已从队列中收到消息后对消息进行分类。

您不能根据消息属性有选择地使用消息。 队列使用者在轮询队列时会收到下一条可用消息。 他们无法选择使用哪些消息。

如果要按类划分消息,则需要一个中间进程,有选择地将消息分发到适当的(单独的)下游队列。 更好的是,如果您的结构允许,可能是与需要转到各个队列的特定模式匹配的不同事件配置。

您应该使用

Lambda 将消息添加到队列中,例如使用 BOTO 3 API 使用 python。将此 Lambda 映射到 S3 事件。http://docs.aws.amazon.com/lambda/latest/dg/with-s3.html

相关内容

  • 没有找到相关文章

最新更新