是否可以查看订阅AWS SQS队列的内容?

bli*_*ile 0 message-queue publish-subscribe amazon-sqs

我正在反向设计一些将消息发送到Amazon SQS队列的代码.我知道队列的名称,可以在我的AWS控制台中找到它.但是,我不知道订阅了什么队列.我想看看消息是如何处理的.有没有一种简单的方法可以找到它?我在控制台或CLI中看不到任何东西......我希望能有类似于rabbitmqctl的东西,它可以显示订阅者列表.

Mic*_*bot 5

您没有订阅SQS队列.SQS队列具有侦听(通常是长轮询)队列以获取消息的侦听器.

任何拥有有效的授权凭证的任何人都可以随时对其进行轮询(或不轮询).

队列没有订阅者 - 主题,如在SNS中 - 有订阅者,每次发布消息时都会向所有订阅者广播消息.

有几种用于SQS队列CloudWatch的指标,你可以用它来确定是否队列正在调查,但听众和队列之间的相互作用是比其他一些消息队列的平台,在听众的队列保持一个持久连接不同的模式(与因此可以列举).SQS监听器连接,接收任何可用的消息,直到最大允许或请求,断开¹,处理消息,然后重新连接以删除消息(否则消息最终变得可见,以便另一个监听器接收...或相同听众... SQS没有"谁"正在倾听的概念,因为一切都在HTTP上工作,当然,这是无国籍的.


¹当然,使用HTTP keep-alive,监听器可能在技术上不会断开与SQS API端点的TCP连接,但是当发生这种情况时没有保留状态,并且SQS无意识到监听器"仍然连接".