是否有一种简单的方法可以将来自多个队列的所有消息重定向到一个“所有捕获”队列中,并通过添加源队列名作为一个名为" source“的属性来更改消息?
我需要更多队列(而不是单个队列)的原因是:我希望使用IAM策略来规范用户对单个源的访问。
编辑:
我需要构建的非常简单:
用户表示存储在S3中的文件应由我们的软件处理。
- For this notification, they can use any AWS service, it can be a Lambda function, API, SQS, SNS. Whatever works.
- As a limitatio
这可能是个愚蠢的问题,但我现在有一个很大的心理障碍。我看不到我的SQS队列和将处理消息的EC2实例之间的连接。
也就是说:客户端完成网页上的表单(此网页托管在EC2实例中),该表单作为消息发送到SQS队列。之后,我的的目标是获取消息的表单信息,并使用该信息运行一个.sh。下一张图片显示了这个过程的一个例子:
那么,我的SQS队列如何在.sh实例中运行EC2呢?我认为使用Python的唯一方法是创建一个“侦听器”来不断地读取消息,并对该消息“做点什么”。
while 1:
m = conn.receive_message(
q,
number_
我有两个服务,A和B,它们通过SQS相互通信。我想用端到端的测试让A队退缩。我在这个服务中调用了一些操作,作为回答,它必须向SQS发送一条消息。问题是,我无法在测试中检索此消息,因为服务B在调用"get message from SQS“之前已在它们上订阅并读取它们。还有两个问题:我无法停止服务B,也不能更改服务A(例如,在将消息发送到SQS之前将消息写入日志)
我怎么才能解决这个问题?
我有一个Amazon队列和一个死信队列。
我的python程序从SQS队列中获取一条消息,然后,如果它引发异常,它将将消息发送到死信队列。
现在,我有了一个程序,可以检查死信队列,如果这些消息仍然可以被处理。如果是,它将被发送回主SQS队列。你看,我在这里期望的是在我的测试中有一个无限的循环,但是很明显,消息在2次尝试后消失了。为什么是这样?
当我在消息中添加一个额外的字段(这是随机值)时,它以某种方式实现了我所期望的(来回发送的无限循环)。在SQS中是否有一种机制可以阻止我在消息相同时所做的事情?
def handle_retrieved_messages(self):
if not