Ich bin Reverse-Engineering-Code, der eine Nachricht an eine Amazon SQS-Warteschlange sendet. Ich kenne den Namen der Warteschlange und kann sie in der my AWS-Konsole finden. Ich weiß jedoch nicht, was die Warteschlange abonniert hat. Ich würde gerne sehen, wie die Nachricht verarbeitet wird. Gibt es einen einfachen Weg, das zu finden? Ich kann nichts in der Konsole oder im CLI sehen ... Ich hoffte auf etwas, das mit rabbitmqctl vergleichbar ist, was dir eine Liste von Abonnenten zeigen kann.Ist es möglich zu sehen, was eine AWS SQS-Warteschlange abonniert hat?
Antwort
Sie abonnieren keine SQS-Warteschlange. SQS-Warteschlangen verfügen über Listener, die die Warteschlange für Nachrichten abfragen (in der Regel lange abfragen).
Jeder mit gültigem, autorisierten Berechtigungsnachweis, der die Berechtigung zum Empfang von Nachrichten hat, kann die Nachricht jederzeit abfragen (oder nicht abfragen).
Warteschlangen haben keine Abonnenten - Themen, wie in SNS - haben Abonnenten, wo Nachrichten bei jeder Veröffentlichung einer Nachricht an alle Abonnenten gesendet werden.
Es gibt mehr Cloudwatch metrics for SQS queues, die Sie ob die Warteschlange abgefragt, um bestimmen können wird, aber die Interaktionen zwischen Zuhörern und Warteschlangen sind ein anderes Modell als einige andere Nachrichtenwarteschlangen Plattformen, wo die Zuhörer in die Warteschlange eine ständige Verbindung aufrechterhalten (und kann daher möglicherweise aufgezählt werden). Ein SQS-Listener verbindet sich, empfängt alle verfügbaren Nachrichten bis zum maximal zulässigen oder angeforderten Wert, trennt die Verbindung ¹, verarbeitet die Nachrichten und stellt dann die Verbindung wieder her, um die Nachrichten zu löschen (andernfalls werden die Nachrichten möglicherweise für einen anderen Listener sichtbar) gleiche Zuhörer ... SQS kein Konzept „das“ hört hat, weil alles über HTTP arbeitet, was natürlich ist, staatenlos.
¹ natürlich mit HTTP-Keep-alive, kann der Hörer nicht Technisch trennen Sie die TCP-Verbindung zum SQS-API-Endpunkt, aber es gibt keinen Status beibehalten, wenn dies passiert und SQS hat keinen Sinn, dass der Listener "immer noch verbunden ist."
Danke, schön e xplanation. – blindsnowmobile