So erstellen Sie ein Abonnement zwischen einer SQS-Warteschlange und einem SNS-Thema auf AWS

Die Idee hinter dem Abonnieren von SQS in SNS ist es, Nachrichten von SNS an SQS zu senden. Man kann sowohl rohe Nachrichten als auch alle anderen in der SNS-Nachricht enthaltenen Nachrichtenattribute senden. Bevor Sie mit diesem Artikel fortfahren, wird vorausgesetzt, dass Sie ein SNS und SQS im Konto haben. Das Anlegen von SNS und SQS gehört nicht zum Umfang dieses Artikels.

SNS kann mehrere SQS-Warteschlangen abonniert haben und SNS wird dieselbe Nachricht an alle seine Abonnements veröffentlichen.

Gehen Sie auf die offizielle Seite von AWS, um die Preise für SNS und SQS zu erfahren.

Vorraussetzungen

  1. AWS-Konto (Erstellen Sie es, wenn Sie noch keines haben).
  2. SNS-Thema (Klicken Sie hier, um zu erfahren, wie Sie ein SNS-Thema erstellen)
  3. SQS-Thema

Was müssen wir tun?

  1. Anmeldung bei AWS.
  2. Überprüfen Sie SNS.
  3. Überprüfen Sie SQS und ändern Sie dessen Zugriffsrichtlinie.
  4. Erstellen Sie eine Subscription von SNS zu SQS.
  5. Rufen Sie Nachrichten auf SQS ab und senden Sie eine Nachricht von SNS.
  6. Löschen Sie das Abonnement.

Anmeldung bei AWS

Um sich bei Ihrem AWS-Konto anzumelden, klicken Sie hier und geben Sie Ihre Anmeldedaten ein

Login-Seite

Sobald Sie sich erfolgreich in Ihr Konto eingeloggt haben, sehen Sie die Hauptverwaltungskonsole von AWS wie folgt.

AWS-Hauptkonsole

SNS prüfen

Suchen Sie im Suchfeld oben auf dem Bildschirm nach SNS.

SNS suchen

Sie sehen das SNS-Dashboard wie folgt. Klicken Sie im linken Bereich auf „Topics“.

SNS Dashboard

Hier sehen Sie die vorhandenen SNS-Themen in Ihrem Konto unter der ausgewählten Region. Ich werde das SNS-Thema „sns-test“ verwenden. Klicken Sie auf das gewünschte Thema, um dessen Details zu sehen.

SNS-Themen

Hier hat das Thema kein Abonnement.

SNS-Themen-Details

Überprüfen Sie SQS und ändern Sie seine Zugriffsrichtlinie

Suchen Sie im Suchfeld am oberen Rand des Bildschirms nach SQS.

SQS suchen

Sie sehen das Haupt-Dashboard wie folgt für SQS mit einer Liste von SQS-Warteschlangen, die unter der ausgewählten Region in Ihrem AWS-Konto verfügbar sind. Hier werde ich die „sqs-test“-Warteschlange verwenden. Klicken Sie auf das SQS-Thema, um seine Details zu überprüfen und die Zugriffsrichtlinie zu ändern.

SQS-Liste

Gehen Sie auf die Registerkarte „Access policy“, um die Standard-/vorhandene Richtlinie zu ändern, und klicken Sie auf die Schaltfläche „Edit“.

Details der SQS-Zugangsrichtlinie

Ersetzen Sie in der Zugriffsrichtlinie unter „Principal block“ das Konto arn durch *, um mögliche Zugriffsprobleme zu vermeiden, und speichern Sie die Änderungen. Dies wird für die Produktionskonten nicht empfohlen.

SQS-Richtlinie bearbeiten

Erstellen einer Subscription von SNS zu SQS

Gehen Sie zum Thema SNS und klicken Sie auf die Schaltfläche „Create subscription“, um ein Abonnement zu erstellen.

SNS Themenübersicht

Ändern Sie hier das Protokoll auf Amazon SQS und geben Sie die ARN des SQS-Topics im Feld „Endpoint“ an. Aktivieren Sie das Kontrollkästchen „Enable raw message delivery“ und klicken Sie dann auf die Schaltfläche „Create subscription“.

Anlegen eines SQS-Abonnements

Wenn Sie nun zum SNS-Topic gehen, sehen Sie, dass das Abonnement erfolgreich erstellt wurde und der Status bestätigt ist.

SQS-Abonnement in SNS

Pollen Sie Nachrichten auf SQS und senden Sie eine Nachricht von SNS.

Wir können testen, ob die Nachrichten in SQS ankommen, wenn sie vom SNS-Topic gesendet werden. Um dies zu testen, gehen Sie in das SQS-Topic und klicken Sie auf die Schaltfläche „Nachrichten senden und empfangen“.

SQS-Übersicht

Hier klicken Sie auf die Schaltfläche „Pool für Nachrichten“.

SQS-Poll-Meldungen

Sobald Sie auf die Schaltfläche „Für Nachrichten abfragen“ klicken, gehen Sie in das SNS-Topic und klicken auf die Schaltfläche „Nachricht veröffentlichen“.

SNS eine Nachricht veröffentlichen

Fügen Sie hier der Nachricht einen Betreff hinzu und wählen Sie die Option „Benutzerdefinierte Nutzdaten für jedes Zustellprotokoll“.

Details der SNS-Nachricht

Scrollen Sie ein Stück nach unten und klicken Sie auf die Schaltfläche „Nachricht veröffentlichen“.

SNS veröffentlicht die Nachricht

Wenn Sie nun auf die SQS-Seite zurückkehren, sehen Sie, dass die Nachricht von SQS empfangen wurde.

Klicken Sie auf die Nachrichten-ID, um zu sehen, was von SNS gesendet wurde.

In SQS empfangene Nachricht

Im Body-Bereich können Sie sehen, dass die von SNS gesendete Nachricht erfolgreich von der SQS empfangen wurde.

Details zur Nachricht

Löschen des Abonnements

Wenn Sie das Abonnement nicht mehr benötigen, können Sie es einfach aus dem SNS-Thema selbst löschen. Wählen Sie das Abonnement aus und klicken Sie auf die Schaltfläche „Löschen“.

SQS-Abonnement-Endpunkt löschen

Sie erhalten ein Pop-up-Fenster, in dem Sie den Löschvorgang bestätigen müssen. Sobald das Abonnement gelöscht ist, können Sie es nicht wiederherstellen. Seien Sie vorsichtig, wenn Sie Löschvorgänge in Ihren Produktionskonten durchführen.

Bestätigung der Löschung

Fazit

In diesem Artikel haben wir die Schritte zum Erstellen eines Abonnements vom SNS-Topic zum SQS-Topic gesehen. Wir haben eine Beispielnachricht von SNS gesendet, die in der SQS abgefragt wurde. Wir haben auch gesehen, wie einfach ein Abonnement aus der SNS gelöscht werden kann.

Das könnte dich auch interessieren …