2016-06-22 3 views
0

私はAmazon SQSキューにメッセージを送信するコードをリバースエンジニアリングしています。私はキューの名前を知っていて、AWSコンソールで見つけることができます。しかし、キューに登録されているものがわかりません。私はメッセージがどのように処理されているかを見たいと思います。それを見つける簡単な方法はありますか?私はコンソールやCLIで何も見ることができません...私はrabbitmqctlに匹敵するものを期待していました。これはあなたに加入者のリストを示すことができます。AWS SQSキューに登録されているものを確認することはできますか?

答えて

5

SQSキューを購読していません。 SQSキューには、メッセージのキューをポーリング(通常は長いポーリング)するリスナーがあります。

メッセージを受信する権限を持つ有効な認定資格情報を所持していれば、いつでもそれをポーリングできます(またはポーリングしないでください)。

キューにはサブスクライバがありません.SNSなどのトピックには、メッセージが公開されるたびにすべてのサブスクライバにブロードキャストされるサブスクライバがあります。

あなたはキューがポーリングされているが、リスナーとキュー間の相互作用がキューにリスナーが永続的な接続を維持するいくつかの他のメッセージ・キュー・プラットフォームとは異なるモデルで、あるかどうかを判断するために使用できるいくつかのCloudwatch metrics for SQS queuesがあります。 (従って潜在的に列挙することができる)。 SQSリスナーが接続し、使用可能な最大数のメッセージを受信して​​、最大許容数のメッセージを受信して​​切断します(¹)。メッセージを処理した後、再接続してメッセージを削除します。すべてはステートレスもちろん、あるHTTP上で動作するため、同じリスナーが... SQSは、聞いている「人」の概念がありません。もちろん


¹、HTTPでキープアライブ、リスナーはないかもしれません技術的にはSQS APIエンドポイントへのTCP接続を切断しますが、この状態が発生しても状態は保持されず、SQSにはリスナーが「まだ接続されていない」という意味がありません。

+0

ありがとう、 xplanation。 – blindsnowmobile

関連する問題