In diesem Tutorial implementieren Sie mit Amazon Simple Notification Service (SNS) und Amazon Simple Queue Service (SQS) ein Fanout-Messaging-Szenario. In diesem Szenario werden Nachrichten mittels Push an mehrere Abonnenten weitergeleitet. Die regelmäßige Überprüfung oder Abfrage nach Aktualisierungen entfällt dadurch, und die Abonnenten können die Nachrichten parallel und asynchron verarbeiten.

Um dies zu veranschaulichen, gehen wir davon aus, dass Sie eine Cloud-spezifische Anwendung entwickeln, die zu einem Thema eine Amazon SNS-Nachricht versendet, wenn eine Bestellung bei einen Online-Shop eingeht. Die Amazon SQS-Warteschlangen, die das Thema abonniert haben, erhalten jeweils identische Meldungen für die neue Bestellung.

Die AWS-Services, die Sie in diesem Tutorial verwenden, sind Teil des kostenlosen AWS-Kontingents.

Das Senden von Fanout-Ereignisbenachrichtigungen auf AWS erfordert ein Konto

Kostenloses Konto erstellen

Das kostenlose AWS-Kontingent enthält 1 000 000 Veröffentlichungen für Amazon Simple Notification Service und 1 000 000 Anfragen von Amazon Simple Queue Service.

Details zum kostenlosen Kontingent für AWS anzeigen »

 

Wenn Sie hier klicken, wird die AWS-Managementkonsole in einem neuen Browserfenster geöffnet, sodass Sie diese schrittweise Anleitung geöffnet lassen können. Wenn der Bildschirm vollständig geladen ist, geben Sie Ihren Benutzernamen und das Passwort ein, um zu beginnen. Geben Sie dann Benachrichtigung in der Suchleiste ein und wählen Sie Simple Notification Service, um die Service-Konsole zu öffnen.

tmt_send-fanout-event-notifications_1a

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_1a

a. Wenn die Landing-Page der SNS-Konsole angezeigt wird, klicken Sie auf Jetzt starten.

tmt_send-fanout-event-notifications_1b

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_1b

In diesem Schritt erstellen Sie ein Amazon SNS-Thema. Ein Thema ist ein Kommunikationskanal zum Senden von Nachrichten und Abonnieren von Benachrichtigungen. In diesem Beispiel wird eine beispielhafte E-Commerce-Anwendung eine Nachricht an ein Amazon SNS-Thema senden, wenn eine neue Bestellung beim Online-Shop eingeht. 


a. Unter Gängige Aktionen klicken Sie auf Thema erstellen.  

tmt_send-fanout-event-notifications_2a

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_2a

b. Das Dialogfeld für Thema erstellen wird angezeigt. Im Feld Themenname schreiben Sie Neue Bestellungen, dann klicken Sie auf Thema erstellen.

tmt_send-fanout-event-notifications_2b

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_2b

c. Die Seite der Themendetails erscheint.

tmt_send-fanout-event-notifications_2c

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_2c

Nachdem Sie das Thema mit Amazon SNS erstellt haben, erstellen Sie Amazon SQS-Warteschlangen, die das Thema abonnieren.

Wenn Sie mehrere Warteschlangen zu einem Thema abonnieren, erhält jedes Mal jede Warteschlange identische Benachrichtigungen, wenn eine Meldung zum Thema geschoben wird. An den Warteschlangen angehängte Services können dann die Aufträge asynchron und parallel verarbeiten.

Zum Beispiel könnte eine Amazon EC2-Serverinstance, die an eine der Warteschlangen angehängt ist, die Verarbeitung oder Erfüllung der Bestellung übernehmen, während die andere Serverinstance zur Analyse aller empfangenen Bestellungen an eine Datenbank angehängt werden könnte.

Um alles einfach zu halten, hängen wir tatsächlich keine EC2 Instances an die Warteschlangen in diesem Tutorial an.


a. Klicken Sie hier, um die Amazon SQS-Konsole in einem neuen Browserfenster zu öffnen. Wenn die SQS-Zielseite angezeigt wird, klicken Sie auf Jetzt starten. Andernfalls fahren Sie mit dem nächsten Schritt fort.

 

tmt_send-fanout-event-notifications_3a

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_3a

b. Unsere erste Warteschlange speichert Aufträge für einen fiktiven Inventardienst, der den Produktbestand im Lager bei jeder Bestellung durch Hinzufügen und Löschen aktualisiert.  

Auf der Seite Neue Warteschlange erzeugen tragen Sie Aufträge fürs Inventar ins Feld Name der Warteschlange ein. Lassen Sie die Standard-Warteschlange ausgewählt und klicken Sie auf Warteschlange schnell erstellen.

tmt_send-fanout-event-notifications_3b

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_3b

c. Die neue Warteschlange wurde erstellt und in der Warteschlangenliste ausgewählt. Als Nächstes erstellen Sie für die Auftragsanalyse eine zweite Warteschlange.

Klicken Sie auf Neue Warteschlange erzeugen, um eine weitere Warteschlange zur Speicherung der Aufträge für den Analyseservice zu erzeugen.

tmt_send-fanout-event-notifications_3c

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_3c

d. Tragen Sie Aufträge für die Analyse in das Feld Name der Warteschlange ein, und klicken Sie auf Warteschlange schnell erstellen

tmt_send-fanout-event-notifications_3d

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_3d

e. Die neue Warteschlange erscheint nun in der Warteschlangenliste.

tmt_send-fanout-event-notifications_3e

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_3e

Damit haben Sie Ihre zwei Amazon SQS-Warteschlangen erstellt, für die Sie nun das Amazon SNS-Thema abonnieren müssen, das Benachrichtigungen über neue Aufträge versendet.


a. Wählen Sie aus der Liste der Warteschlangen die Warteschlangen Aufträge fürs Inventar und Aufträge für die Analyse aus. Wählen Sie aus Warteschlangenaktionen die Option Warteschlangen für SNS-Themen abonnieren aus.

tmt_send-fanout-event-notifications_4a

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_4a

b. Das Dialogfeld Thema abonnieren wird angezeigt. In der Dropdown-Liste Thema auswählen wählen Sie Ihr Amazon SNS-Thema Neuaufträge aus.

Ihr SNS-Thema wird in der Liste angezeigt, da Sie es mit demselben Konto erstellt haben, mit dem Sie Ihre Amazon SQS-Warteschlangen erstellt haben. Wenn das SNS-Thema von einem anderen Konto stammt, können Sie es mit dem ARN des Themas abonnieren. Weitere Einzelheiten finden Sie unter der Amazon SNS-Dokumentation.

Lassen Sie die Themen-Region unverändert, und klicken Sie auf Abonnieren.  

tmt_send-fanout-event-notifications_4b

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_4b

c. Das Dialogfeld Abonnementsresultate des Themas wird angezeigt. Klicken Sie auf OK.

tmt_send-fanout-event-notifications_4c

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_4c

Ihre Warteschlangen sind nun für das Thema abonniert. In diesem Schritt simulieren Sie eine neue Bestellung, indem die fiktive E-Commerce-Anwendung eine Nachricht an das Thema mit den Bestelldetails sendet.


a. Klicken Sie in der Amazon SNS-Konsole auf Themen.

 

tmt_send-fanout-event-notifications_5a

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_5a

b. Wählen Sie das Thema Neuaufträge aus und klicken Sie dann auf die Schaltfläche Im Thema veröffentlichen.


tmt_send-fanout-event-notifications_5b

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_5b

c. Die Seite Nachricht veröffentlichen wird angezeigt.

Im Feld Betreff geben Sie Auftrag 123-4567890-1234567 ein.

Im Nachrichtenformat wählen Sie Raw.

Geben Sie im Feld Nachricht den folgenden Text ein, um einen Beispielauftrag darzustellen:
1 X Widget @ 29,99 USD
2 X Widget-Kabel @ 4,99 USD

Klicken Sie auf Nachricht veröffentlichen. Ein Bestätigungsdialogfeld wird angezeigt.

tmt_send-fanout-event-notifications_5c

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_5c

Sobald eine neue Nachricht veröffentlicht wurde, übermittelt Amazon SNS diese Nachricht an jeden Endpunkt, der das Thema abonniert hat. In einem Fanout-Szenario wie diesem sind die Amazon SQS-Warteschlangen die Endpunkte.

In diesem Schritt bestätigen Sie, dass die Warteschlangen die Benachrichtigung über den neuen Auftrag erhalten haben, indem Sie die Nachricht anzeigen, die das Thema an die Warteschlangen gesendet hat.


a. Aktivieren Sie in der Warteschlangenliste der Amazon SQS-Konsole das Kontrollkästchen für die Warteschlange Aufträge fürs Inventar. Wählen Sie in der Dropdown-Liste Warteschlangenaktion die Option Nachrichten anzeigen/löschen aus.

 

tmt_send-fanout-event-notifications_6a

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_6a

b. Klicken Sie auf Abfrage für Nachrichten starten.


tmt_send-fanout-event-notifications_6b

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_6b

c. Das Dialogfeld Nachrichten in Aufträgen fürs Inventar anzeigen/löschen wird angezeigt.

tmt_send-fanout-event-notifications_6c

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_6c

d. Klicken Sie in der Abteilungsspalte auf Weitere Details. Die Box der Nachrichtendetails enthält ein JSON-Dokument, das den Betreff und die Nachricht enthält, die Sie zum Thema veröffentlicht haben.  

Sie haben bestätigt, dass die Warteschlange Aufträge fürs Inventar die Benachrichtigung des neuen Auftrags vom Thema der Neuaufträge erhalten hat.  

Klicken Sie auf Schließen.

 

tmt_send-fanout-event-notifications_6d

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_6d

e. Wir gehen davon aus, dass unser fiktiver Inventardienst diese Nachricht verarbeitet hat und dass wir die Nachricht nun sicher aus der Warteschlange löschen können. 

Klicken Sie auf 1 Nachricht löschen. Klicken Sie zum Bestätigen auf Ja, markierte Nachrichten löschen. Klicken Sie dann auf Schließen.

 

tmt_send-fanout-event-notifications_6e

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_6e

f. Wiederholen Sie die Schritte 6a bis 6e, um zu bestätigen, dass die Warteschlange der Aufträge für die Analyse die Benachrichtigung über den neuen Auftrag auch erhalten.

tmt_send-fanout-event-notifications_6f

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_6f

In diesem Schritt löschen Sie die Ressourcen, die Sie für dieses Tutorial erstellt haben, die das Thema Abonnements, Themen und Warteschlangen enthalten. Es empfiehlt sich, nicht mehr verwendete Ressourcen zu löschen, damit keine Gebühren anfallen.


a. Öffnen Sie die Amazon SNS-Konsole und klicken Sie im linken Navigationsbereich auf Themen.

Wählen Sie das Thema Neuaufträge aus.

Klicken Sie auf die Dropdown-Liste Aktionen und wählen Sie Themen löschen aus.


tmt_send-fanout-event-notifications_7a

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_7a

b. Der Bestätigungsdialog zum Löschen wird angezeigt. Klicken Sie auf Löschen. Das Thema und seine Abonnements werden gelöscht. Sie können jetzt das SNS-Browserfenster schließen (aber melden Sie sich nicht ab, da Sie die Warteschlangen in der SQS-Konsole noch löschen müssen).

 

tmt_send-fanout-event-notifications_7b

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_7b

c. Wählen Sie in der Amazon SQS-Konsole die Warteschlangen Aufträge fürs Inventar und Aufträge für die Analyse aus. Wählen Sie aus den Warteschlangenaktionen die Option Warteschlangen löschen aus.


tmt_send-fanout-event-notifications_7c

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_7c

d. Das Dialogfeld Warteschlangen löschen wird angezeigt. Klicken Sie auf Ja, 2 Warteschlangen löschen. Die Warteschlangen werden gelöscht.

Sie können sich jetzt aus der Amazon SQS-Konsole abmelden.

tmt_send-fanout-event-notifications_7d

(zum Vergrößern klicken)

tmt_send-fanout-event-notifications_7d

Sie haben ein Fanout-Szenario mit Amazon SNS und Amazon SQS implementiert. Jetzt können Sie Amazon SNS und Amazon SQS gemeinsam nutzen, um Nachrichten an Anwendungen zu senden, die eine sofortige Benachrichtigung über ein Ereignis benötigen, oder um Nachrichten in Amazon SQS-Warteschlangen für andere Anwendungen zu puffern, damit sie später verarbeitet werden können.

 


Nachdem Sie nun gelernt haben, Fanout-Benachrichtigungen mit Amazon SNS und Amazon SQS zu implementieren, wählen Sie eine der folgenden Optionen aus, um tiefer in die Cloud-Nachrichtenübermittlung in AWS einzutauchen.

Weitere Informationen

Erhalten Sie einen Überblick über die Funktionen, Komponenten und Anwendungsfälle für Nachrichtenthemen in AWS. Besuchen Sie die Amazon SNS-Website

Tiefere Einsicht

Erfahren Sie, wie Sie Anwendungen, Endbenutzern und Geräten ermöglichen, sofort Benachrichtigungen aus der Cloud zu senden und zu empfangen. Lesen Sie die Dokumentation »

Sehen Sie es in Aktion

Erfahren Sie, wie Amazon SQS und Amazon SNS von Kunden wie Capital One verwendet werden, um Anwendungen zu trennen und anzupassen. Webinar ansehen »

Ja
Nein