我想使用AWS S3允许某些用户将文件添加到S3存储桶。
然后,我想在添加新文件时生成SQS消息。
最后,我想使用SQS消息并使用特定类的后台作业工作程序处理它。
我想使用SQS消息属性来确定我应该使用哪个后台作业工作者类进行处理。正如SQS消息属性文档所述:
消息的使用者可以使用消息属性来帮助确定如何处理消息,而无需首先处理消息正文。
但是,在S3存储桶的属性下,在高级设置下,事件设置似乎没有公开设置消息属性的方法。
有没有办法在逐个事件的基础上为S3生成的事件指定消息属性?
答案 0 :(得分:0)
您应该使用Lambda将消息添加到队列中,例如使用BOTO 3 API的python。将此Lambda映射到S3事件。 http://docs.aws.amazon.com/lambda/latest/dg/with-s3.html
答案 1 :(得分:0)
没有办法将自定义消息属性注入S3事件通知......但是请注意,您可能会错误地解释可以使用哪些消息属性。
消息的消费者可以使用消息属性[...]
这意味着它们为消费者提供了一种机制,可以在消费者已经从队列中收到消息之后消息。
您无法根据消息属性有选择地使用消息。队列消费者在轮询队列时会收到下一个可用消息。他们无法选择他们消费的消息。
如果要按类别划分消息,则需要一个中间过程,有选择地将消息分发到适当的(单独的)下游队列。更好的是,如果您的结构允许,可能是不同的事件配置匹配需要转到各个队列的特定模式。