Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfiguration einer Amazon-Warteschlange für SNS unzustellbare Briefe für ein Abonnement
Eine Warteschlange für unzustellbare Briefe ist eine SQS Amazon-Warteschlange, die ein SNS Amazon-Abonnement für Nachrichten verwenden kann, die nicht erfolgreich an Abonnenten zugestellt werden können. Nachrichten, die aufgrund von Clientfehlern oder Serverfehlern nicht zugestellt werden können, werden in der Queue für unzustellbare Nachrichten zur weiteren Analyse oder erneuten Verarbeitung gespeichert. Weitere Informationen erhalten Sie unter Warteschlangen für SNS unzustellbare Briefe bei Amazon und Wiederholte Versuche mit der SNS Amazon-Nachrichtenzustellung.
Auf dieser Seite wird gezeigt, wie Sie das AWS Management Console, ein, das und verwenden können AWS SDK, AWS CloudFormation um eine Warteschlange für unzustellbare Briefe für ein SNS Amazon-Abonnement zu konfigurieren. AWS CLI
Anmerkung
Für ein FIFOThema können Sie eine SQS Amazon-Warteschlange als Warteschlange für eingehende Briefe für das SNS Amazon-Abonnement verwenden. FIFOThemenabonnements verwenden FIFO Warteschlangen, und Standardthemenabonnements verwenden Standardwarteschlangen.
Voraussetzungen
Führen Sie die folgenden Voraussetzungen aus, bevor Sie eine Queue für unzustellbare Nachrichten konfigurieren:
-
Erstellen Sie ein SNS Amazon-Thema mit dem Namen
MyTopic
. -
Erstellen Sie eine SQS Amazon-Warteschlange mit dem Namen
MyEndpoint
, die als Endpunkt für das SNS Amazon-Abonnement verwendet werden soll. -
(Überspringen für AWS CloudFormation) Abonnieren Sie die Warteschlange für das Thema.
-
Erstellen Sie eine weitere SQS Amazon-Warteschlange mit dem Namen
MyDeadLetterQueue
, die als Warteschlange für eingehende Briefe für das SNS Amazon-Abonnement verwendet werden soll. -
Um Amazon SNS Principal Zugriff auf die SQS API Amazon-Aktion zu gewähren, legen Sie die folgende Warteschlangenrichtlinie für fest
MyDeadLetterQueue
.{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-2:123456789012:MyTopic" } } }] }
Um eine Warteschlange für unzustellbare Briefe für ein SNS Amazon-Abonnement zu konfigurieren, verwenden Sie den AWS Management Console
Bevor Sie mit diesem Tutorial beginnen, müssen Sie die Voraussetzungen erfüllen.
-
Melden Sie sich bei der SQSAmazon-Konsole
an. -
Erstellen Sie eine SQS Amazon-Warteschlange oder verwenden Sie eine bestehende Warteschlange und notieren Sie sich die Warteschlange auf der Registerkarte Details der Warteschlange, zum Beispiel: ARN
arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue
Melden Sie sich bei der SNSAmazon-Konsole
an. -
Wählen Sie im Navigationsbereich Subscriptions (Abonnements) aus.
-
Wählen Sie auf der Seite Subscriptions (Abonnements) ein vorhandenes Abonnement und dann Edit (Bearbeiten) aus.
-
Bei der Bearbeitung
1234a567-bc89-012d-3e45-6fg7h890123i
Erweitern Sie auf der Seite den Abschnitt Redrive-Richtlinie (Warteschlange für unveröffentlichte Nachrichten), und gehen Sie dann wie folgt vor:-
Wählen Sie Aktiviert.
-
Geben Sie die ARN einer SQS Amazon-Warteschlange an.
-
-
Wählen Sie Änderungen speichern.
Ihr Abonnement ist für die Verwendung einer Queue für unzustellbare Nachrichten konfiguriert.
Um eine Warteschlange für unzustellbare Briefe für ein SNS Amazon-Abonnement zu konfigurieren, verwenden Sie eine AWS SDK
Bevor Sie dieses Beispiel ausführen, müssen Sie sicherstellen, dass Sie dieVoraussetzungenerfüllen.
Um eine zu verwenden AWS SDK, müssen Sie sie mit Ihren Anmeldeinformationen konfigurieren. Weitere Informationen finden Sie unter Die Dateien für die gemeinsame Konfiguration und die Anmeldeinformationen im AWS SDKsReferenzhandbuch zu Tools.
Das folgende Codebeispiel zeigt die VerwendungSetSubscriptionAttributesRedrivePolicy
.
Um eine Warteschlange für unzustellbare Briefe für ein SNS Amazon-Abonnement zu konfigurieren, verwenden Sie den AWS CLI
Bevor Sie mit diesem Tutorial beginnen, müssen Sie die Voraussetzungen erfüllen.
-
Installieren und Konfigurieren der AWS CLI. Weitere Informationen finden Sie im AWS Command Line Interface -Benutzerhandbuch.
-
Verwenden Sie den folgenden -Befehl.
aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-2:123456789012:MyEndpoint:1234a567-bc89-012d-3e45-6fg7h890123i --attribute-name RedrivePolicy --attribute-value "{\"deadLetterTargetArn\": \"arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue\"}"
Um eine Warteschlange für unzustellbare Briefe für ein SNS Amazon-Abonnement zu konfigurieren, verwenden Sie AWS CloudFormation
Bevor Sie mit diesem Tutorial beginnen, müssen Sie die Voraussetzungen erfüllen.
-
Kopieren Sie den folgenden JSON Code in eine Datei mit dem Namen
MyDeadLetterQueue.json
.{ "Resources": { "mySubscription": { "Type" : "AWS::SNS::Subscription", "Properties" : { "Protocol": "sqs", "Endpoint": "arn:aws:sqs:us-east-2:123456789012:MyEndpoint", "TopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic", "RedrivePolicy": { "deadLetterTargetArn": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue" } } } } }
-
Melden Sie sich an der AWS CloudFormation -Konsole
an. -
Klicken Sie auf der Seite Select Template (Vorlage auswählen) auf die Option Upload a template to Amazon S3 (Eine Vorlage zu Amazon S3 hochladen), wählen Sie dann Ihre
MyDeadLetterQueue.json
-Datei und anschließend Next (Weiter) aus. -
Geben Sie auf der Seite Specify Details (Details angeben)
MyDeadLetterQueue
als Stack Name (Stack-Name) ein und wählen Sie Next (Weiter) aus. -
Wählen Sie auf der Seite Optionen Weiter aus.
-
Klicken Sie auf der Seite Review auf Create.
AWS CloudFormation beginnt mit der Erstellung des
MyDeadLetterQueue
Stacks und zeigt den Status CREATE_IN_ PROGRESS an. Wenn der Vorgang abgeschlossen ist, wird der AWS CloudFormation Status CREATE_ COMPLETE angezeigt.