

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.

# Abonnieren einer Amazon-SQS-Warteschlange für ein Amazon-SNS-Thema
<a name="subscribe-sqs-queue-to-sns-topic"></a>

Um einem Amazon SNS SNS-Thema das Senden von Nachrichten an eine Amazon SQS SQS-Warteschlange zu ermöglichen, wählen Sie eine der folgenden Optionen:
+ Verwenden der [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/), was den Prozess vereinfacht. Weitere Informationen finden Sie unter [Abbonieren einer Amazon-SQS-Warteschlange zu einem Amazon-SNS-Thema](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-subscribe-queue-sns-topic.html) im *Amazon-Simple-Warteschlangen-Service-Entwicklerhandbuch*.
+ Gehen Sie dazu wie folgt vor: 

  1. [Rufen Sie den Amazon-Ressourcennamen (ARN) der Warteschlange ab, an die Sie Nachrichten senden möchten, sowie das Thema, zu dem Sie die Warteschlange abonnieren möchten.](#SendMessageToSQS.arn)

  1. [Erteilen Sie die Berechtigung `sqs:SendMessage` für das Amazon-SNS-Thema, damit es Nachrichten an die Warteschlange senden kann.](#SendMessageToSQS.sqs.permissions)

  1. [Abonnieren der Warteschlange für das Amazon-SNS-Thema.](#SendMessageToSQS.subscribe)

  1. [Gewähren Sie IAM-Benutzern oder AWS-Konten die entsprechenden Berechtigungen zur Veröffentlichung im Amazon-SNS-Thema und zum Lesen von Nachrichten in der Amazon-SQS-Warteschlange.](#SendMessageToSQS.iam.permissions)

  1. [Testen Sie die Ergebnisse, indem Sie eine Nachricht zu dem Thema veröffentlichen und die Nachricht von der Warteschlange lesen.](#SendMessageToSQS.test)

Weitere Informationen zur Einrichtung eines Themas zum Senden von Nachrichten an eine Warteschlange in einem anderen AWS-Konto finden Sie unter [Senden von Amazon SNS-Nachrichten an eine Amazon SQS-Warteschlange in einem anderen Konto](sns-send-message-to-sqs-cross-account.md).

Eine CloudFormation Vorlage, die ein Thema erstellt, das Nachrichten an zwei Warteschlangen sendet, finden Sie unter. [Automatisieren Sie das Versenden von Amazon SNS zu Amazon SQS mit AWS CloudFormation](SendMessageToSQS.cloudformation.md)

## Schritt 1: Abrufen des ARN der Warteschlange und des Themas
<a name="SendMessageToSQS.arn"></a>

Beim Abonnieren einer Warteschlange zu Ihrem Thema benötigen Sie eine Kopie des ARN für die Warteschlange. Wenn Sie eine Berechtigung für das Thema erteilen, um Nachrichten an die Warteschlange zu senden, benötigen Sie auch eine Kopie des ARN für das Thema.

Um den Warteschlangen-ARN abzurufen, können Sie die Amazon SQS SQS-Konsole oder die [GetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QueryGetQueueAttributes.html)API-Aktion verwenden.

**So rufen Sie den ARN der Warteschlange von der Amazon-SQS-Konsole ab**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon SQS SQS-Konsole unter [https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/).

1. Aktivieren Sie das Kontrollkästchen für die Warteschlange, deren ARN Sie abrufen möchten.

1. Kopieren Sie auf der Registerkarte **Details** den ARN-Wert, sodass Sie ihn zum Abonnieren des Amazon-SNS-Themas verwenden können.

Um den ARN des Themas abzurufen, können Sie die `[sns-get-topic-attributes](https://docs.aws.amazon.com/cli/latest/reference/sns/get-topic-attributes.html)` Amazon-SNS-Konsole, den Befehl oder die `[GetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QueryGetQueueAttributes.html)` API-Aktion verwenden.

**So rufen Sie den ARN des Themas von der Amazon-SNS-Konsole ab**

1. Melden Sie sich bei der [Amazon-SNS-Konsole](https://console.aws.amazon.com/sns/home) an.

1. Wählen Sie im Navigationsbereich das Thema aus, dessen ARN Sie abrufen möchten.

1. Kopieren Sie im Bereich **Details** (Themendetails) den Wert unter Topic **ARN** (Themen-ARN), um damit die Berechtigung für das Amazon-SNS-Thema zum Senden von Nachrichten an die Warteschlange zu erteilen.

## Schritt 2: Erteilen der Berechtigung für das Amazon SNS-Thema zum Senden von Nachrichten an die Amazon-SQS-Warteschlange
<a name="SendMessageToSQS.sqs.permissions"></a>

Damit ein Amazon-SNS-Thema Nachrichten an eine Warteschlange senden kann, müssen Sie eine Richtlinie für die Warteschlange einrichten, die es dem Amazon-SNS-Thema erlaubt, die Aktion `sqs:SendMessage` auszuführen.

Bevor Sie eine Warteschlange für ein Thema abonnieren, benötigen Sie ein Thema und eine Warteschlange. Wenn Sie noch kein Thema bzw. keine Warteschlange erstellt haben, erstellen Sie diese jetzt. Weitere Informationen finden Sie unter [Erstellen eines Themas](sns-create-topic.md) und [Erstellen einer Warteschlange](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/step-create-queue.html) im *Entwicklerhandbuch für den Amazon-Simple-Warteschlangenservice*. 

Um eine Richtlinie für eine Warteschlange festzulegen, können Sie die Amazon SQS SQS-Konsole oder die [SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QuerySetQueueAttributes.html)API-Aktion verwenden. Bevor Sie beginnen, stellen Sie sicher, dass Sie über den ARN für das Thema verfügen, das Nachrichten an die Warteschlange senden soll. Wenn Sie eine Warteschlange für mehrere Themen abonnieren, muss Ihre Richtlinie ein `Statement`-Element für jedes Thema enthalten.

**So legen Sie mithilfe der Amazon SQS SQS-Konsole eine SendMessage Richtlinie für eine Warteschlange fest**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon SQS SQS-Konsole unter [https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/).

1. Aktivieren Sie das Kontrollkästchen für die Warteschlange, deren Richtlinien Sie einrichten möchten. Wählen Sie die Registerkarte **Access policy** und danach **Edit**.

1. In der**Zugriffsrichtlinie**definieren Sie, wer auf Ihre Warteschlange zugreifen kann.
   + Fügen Sie eine Bedingung hinzu, die die Aktion für das Thema zulässt.
   + Legen Sie `Principal` als den Amazon-SNS-Service fest, wie im folgenden Beispiel gezeigt. 
   + Verwenden Sie den globale Konditionsschlüssel von [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) oder den [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) zum Schutz vor dem Szenario [Confused Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). Legen Sie zur Verwendung dieses Bedingungsschlüssels den Wert auf den ARN Ihres Themas fest. Wenn Ihre Warteschlange mehrere Themen abonniert hat, können Sie stattdessen `aws:SourceAccount` verwenden. 

   Die folgende Richtlinie ermöglicht beispielsweise das Senden MyTopic von Nachrichten an MyQueue. 

   ```
   {
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "sns.amazonaws.com"
         },
         "Action": "sqs:SendMessage",
         "Resource": "arn:aws:sqs:us-east-2:123456789012:MyQueue",
         "Condition": {
           "ArnEquals": {
             "aws:SourceArn": "arn:aws:sns:us-east-2:123456789012:MyTopic"
           }
         }
       }
     ]
   }
   ```

## Schritt 3: Abonnieren der Warteschlange für das Amazon-SNS-Thema
<a name="SendMessageToSQS.subscribe"></a>

Um Nachrichten über ein Thema an eine Warteschlange zu senden, müssen Sie die Warteschlange für das Amazon-SNS-Thema abonnieren. Sie geben die Warteschlange durch ihre ARN an. Um ein Thema zu abonnieren, können Sie die Amazon-SNS-Konsole, den `[sns-subscribe](https://docs.aws.amazon.com/cli/latest/reference/sns/subscribe.html)`-CLI-Befehl oder die `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)`-API-Aktion verwenden. Bevor Sie beginnen, stellen Sie sicher, dass Sie über den ARN für die Warteschlange verfügen, die Sie abonnieren möchten.

1. Melden Sie sich bei der [Amazon SNS-Konsole](https://console.aws.amazon.com/sns/home) an.

1. Wählen Sie im Navigationsbereich **Topics** (Themen) aus.

1. Wählen Sie auf der Seite **Topics (Themen)** ein Thema aus.

1. Wählen Sie auf der {{**MyTopic**}} Seite auf der Seite **Abonnements** die Option **Abonnement erstellen** aus.

1. Führen Sie auf der Seite **Create subscription ** (Abonnement erstellen) im Abschnitt **Details** die folgenden Schritte aus:

   1. Überprüfen Sie den **Topic ARN (Themen-ARN)**.

   1. Für**Protocol (Protokoll)**, wählen Sie** Amazon SQS**aus.

   1. Geben Sie für **Endpoint** (Endpunkt) den ARN einer Amazon-SQS-Warteschlange ein.

   1. Klicken Sie auf **Create subscription** (Abonnement erstellen).

   Wenn das Abonnement bestätigt wurde, wird die **Subscription ID (Abonnement-ID)** für Ihr neues Abonnement angezeigt. Wenn der Eigentümer der Warteschlange das Abonnement erstellt, wird das Abonnement automatisch bestätigt und es sollte nahezu umgehend aktiv sein.

   Normalerweise abonnieren Sie Ihre eigene Warteschlange für ein eigenes Thema in Ihrem Konto. Sie können aber auch eine Warteschlange aus einem anderen Konto für Ihr Thema abonnieren. Wenn der Benutzer, der das Abonnement erstellt, nicht der Eigentümer der Warteschlange ist (z. B. wenn ein Benutzer von Konto A eine Warteschlange von Konto B für ein Thema in Konto A erstellt), muss das Abonnement bestätigt werden. Weitere Informationen zum Abonnieren einer Warteschlange von einem anderen Konto und zum Bestätigen des Abonnements finden Sie unter [Senden von Amazon SNS-Nachrichten an eine Amazon SQS-Warteschlange in einem anderen Konto](sns-send-message-to-sqs-cross-account.md).

## Schritt 4: Erteilen von Berechtigungen an Benutzer für die entsprechenden Themen- und Warteschlangenaktionen
<a name="SendMessageToSQS.iam.permissions"></a>

Sie sollten AWS Identity and Access Management (IAM) verwenden, um nur geeigneten Benutzern das Veröffentlichen im Amazon SNS SNS-Thema und in read/delete Nachrichten aus der Amazon SQS SQS-Warteschlange zu gestatten. Weitere Informationen zum Steuern von Aktionen für Themen und Warteschlangen für IAM-Benutzer finden Sie unter [Verwenden von identitätsbasierten Richtlinien mit Amazon SNS](sns-using-identity-based-policies.md), und [Identity and Access Management in Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/UsingIAM.html) im Amazon Simple Warteschlange Service-Entwicklerhandbuch.

Es gibt zwei Möglichkeiten, den Zugriff auf ein Thema oder eine Warteschlange zu steuern:
+ [Hinzufügen einer Richtlinie zu einem IAM-Benutzer oder einer IAM-Gruppe](#SendMessageToSQS.iam.permissions.user). Die einfachste Möglichkeit, Benutzern Berechtigungen für Themen oder Warteschlangen zu gewähren, besteht darin, eine Gruppe zu erstellen, dieser die entsprechende Richtlinie hinzuzufügen und anschließend der Gruppe Benutzer hinzuzufügen. Es ist wesentlich einfacher, Benutzer einer Gruppe hinzufügen und zu entfernen, um die Richtlinien für einzelne Benutzer im Auge zu behalten.
+ [Hinzufügen einer Richtlinie zum Thema oder zur Warteschlange](#SendMessageToSQS.iam.permissions.resource). Wenn Sie einem anderen AWS Konto Berechtigungen für ein Thema oder eine Warteschlange erteilen möchten, können Sie dies nur tun, indem Sie eine Richtlinie hinzufügen, deren Hauptbestandteil die Person ist, für die AWS-Konto Sie Berechtigungen erteilen möchten.

Sie sollten die erste Methode für die meisten Fällen verwenden (Anwenden von Richtlinien für Gruppen und Verwalten von Berechtigungen für Benutzer durch Hinzufügen oder Entfernen der entsprechenden Benutzer zu den Gruppen). Wenn Sie Berechtigungen für einen Benutzer in einem anderen Konto erteilen müssen, sollten Sie die zweite Methode verwenden.

### Hinzufügen einer Richtlinie zu einem IAM-Benutzer oder einer IAM-Gruppe
<a name="SendMessageToSQS.iam.permissions.user"></a>

Wenn Sie die folgende Richtlinie zu einem IAM-Benutzer oder einer IAM-Gruppe hinzufügen würden, würden Sie diesem Benutzer oder Mitgliedern dieser Gruppe die Erlaubnis geben, die `sns:Publish` Aktion für das Thema MyTopic auszuführen.

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:us-east-2:123456789012:MyTopic"
    }
  ]
}
```

Wenn Sie einem IAM-Benutzer oder einer IAM-Gruppe die folgende Richtlinie hinzufügen würden, würden Sie diesem Benutzer oder Mitgliedern dieser Gruppe die Berechtigung erteilen, die `sqs:DeleteMessage` Aktionen `sqs:ReceiveMessage` und in den Warteschlangen MyQueue 1 und 2 auszuführen. MyQueue

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:ReceiveMessage",
        "sqs:DeleteMessage"
      ],
      "Resource": [
        "arn:aws:sqs:us-east-2:123456789012:MyQueue1",
        "arn:aws:sqs:us-east-2:123456789012:MyQueue2"
      ]
    }
  ]
}
```

### Hinzufügen einer Richtlinie zu einem Thema oder einer Warteschlange
<a name="SendMessageToSQS.iam.permissions.resource"></a>

Die folgenden Beispielrichtlinien zeigen, wie weitere Kontoberechtigungen für ein Thema und eine Warteschlange erteilt werden.

**Anmerkung**  
Wenn Sie einer anderen Person AWS-Konto Zugriff auf eine Ressource in Ihrem Konto gewähren, gewähren Sie damit auch IAM-Benutzern, die über Administratorrechte (Wildcard-Zugriff) für diese Ressource verfügen. Allen anderen IAM-Benutzern des anderen Kontos wird der Zugriff auf Ihre Ressource automatisch verweigert. Wenn Sie möchten, dass bestimmte IAM-Benutzer dieses AWS-Konto Zugriff auf Ihre Ressource haben, muss ein IAM-Benutzer mit Administratorrechten diesen IAM-Benutzern die Berechtigungen für die Ressource übertragen. Weitere Informationen zur kontenübergreifenden Berechtigungsübertragung finden Sie unter [Aktivieren des kontenübergreifenden Zugriffs](https://docs.aws.amazon.com/IAM/latest/UserGuide/Delegation.html) im *Leitfaden zur Verwendung von IAM*.

Wenn Sie die folgende Richtlinie zu einem Thema MyTopic im Konto 123456789012 hinzufügen würden, würden Sie dem Konto 111122223333 die Berechtigung erteilen, die Aktion für dieses Thema auszuführen. `sns:Publish`

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "111122223333"
      },
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:us-east-2:123456789012:MyTopic"
    }
  ]
}
```

Wenn Sie die folgende Richtlinie zu einer Warteschlange MyQueue im Konto 123456789012 hinzufügen würden, würden Sie dem Konto 111122223333 die Berechtigung erteilen, die Aktionen in dieser Warteschlange auszuführen. `sqs:ReceiveMessage` `sqs:DeleteMessage`

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "111122223333"
      },
      "Action": [
        "sqs:DeleteMessage",
        "sqs:ReceiveMessage"
      ],
      "Resource": [
        "arn:aws:sqs:us-east-2:123456789012:MyQueue"
      ]
    }
  ]
}
```

## Schritt 5: Testen der Warteschlangen-Abonnements des Themas
<a name="SendMessageToSQS.test"></a>

Sie können die Warteschlange-Abonnements für ein Thema testen, indem Sie eine Veröffentlichung für das Thema vornehmen und die Nachricht anzeigen, die das Thema an die Warteschlange sendet.

**So veröffentlichen Sie über die Amazon-SNS-Konsole zu einem Thema**

1. Melden Sie sich mit den Anmeldeinformationen des AWS-Konto oder des IAM-Benutzers mit der Berechtigung zum Veröffentlichen des Themas an AWS-Managementkonsole und öffnen Sie die Amazon SNS SNS-Konsole unter. [https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/home)

1. Wählen Sie im Navigationsbereich das Thema und **Publish to Topic (Zu Thema veröffentlichen)** aus.

1. Geben Sie in das Feld **Subject (Betreff)** einen Betreff ein (z. B. **Testing publish to queue**). Geben Sie in das Feld **Message (Nachricht)** Text ein (z. B. **Hello world\!**) und wählen Sie **Publish Message (Nachricht veröffentlichen)** aus. Die folgende Meldung wird angezeigt: Ihre Nachricht wurde erfolgreich veröffentlicht.

**So zeigen Sie die Nachricht von dem Thema mithilfe der Amazon-SQS-Konsole an**

1. Melden Sie sich mit den Anmeldeinformationen des AWS-Konto oder des IAM-Benutzers mit der Berechtigung zum Anzeigen von Nachrichten in der Warteschlange an AWS-Managementkonsole und öffnen Sie die Amazon SQS SQS-Konsole unter. [https://console.aws.amazon.com/sqs/](https://console.aws.amazon.com/sqs/)

1. Wählen Sie eine **Warteschlange**, die das Thema abonniert hat.

1. Wählen Sie **Send and receive messages** (Nachrichten senden und empfangen) und dann **Poll for messages** (Nachrichten abfragen) aus. Es wird eine Nachricht des Typs **Notification (Benachrichtigung)** angezeigt. 

1. Wählen Sie in der Spalte **Body**die Option **More Details**. Das Feld **Message Details (Nachrichtendetails)** enthält ein JSON-Dokument mit dem Betreff und der Nachricht, die Sie zum Thema veröffentlicht haben. Die Nachricht sieht ähnlich aus wie das folgende JSON-Dokument.

   ```
   {
     "Type" : "Notification",
     "MessageId" : "63a3f6b6-d533-4a47-aef9-fcf5cf758c76",
     "TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic",
     "Subject" : "Testing publish to subscribed queues",
     "Message" : "Hello world!",
     "Timestamp" : "2012-03-29T05:12:16.901Z",
     "SignatureVersion" : "1",
     "Signature" : "EXAMPLEnTrFPa3...",
     "SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
     "UnsubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:c7fe3a54-ab0e-4ec2-88e0-db410a0f2bee"
   }
   ```

1. Klicken Sie auf **Schließen**. Sie haben erfolgreich eine Nachricht zu einem Thema veröffentlicht, das Benachrichtigungen an eine Warteschlange sendet.