Warum empfängt mein AWS Chatbot keine Nachrichten von Amazon SNS?

Letzte Aktualisierung: 20.09.2021

Ich habe einen AWS Chatbot für mein Thema in Amazon Simple Notification Service (Amazon SNS) abonniert. Benachrichtigungen von meinem Amazon SNS-Thema erreichen den AWS Chatbot jedoch nicht. Wie kann dieses Problem behoben werden?

Kurzbeschreibung

Wenn die Benachrichtigungen Ihres Amazon SNS-Themas Ihren AWS Chatbot nicht erreichen, ist eine der folgenden Optionen falsch konfiguriert:

  • (Nur für Slack) Der Kommunikationskanal zwischen dem AWS Chatbot und dem Slack-Kanal.
  • (Für Slack und Amazon Chime) Der Kommunikationskanal zwischen dem Amazon SNS-Thema und dem AWS Chatbot.

Gehen Sie wie folgt vor, um das Problem zu beheben.

Auflösung

Schalten Sie CloudWatch Logs für Ihren AWS Chatbot ein

Folgen Sie den Anweisungen unter Zugriff auf Amazon CloudWatch Logs für AWS Chatbot.

(Nur für Slack) Stellen Sie sicher, dass der Kommunikationskanal zwischen dem AWS Chatbot und dem Slack-Kanal korrekt konfiguriert ist

Stellen Sie sicher, dass der Slack-Kanal nicht archiviert oder gelöscht wurde.

Archivierte oder gelöschte Slack-Kanäle können keine Nachrichten empfangen. Alle Apps in archivierten oder gelöschten Slack-Kanälen sind deaktiviert.

Um die Archivierung eines Kanals aufzuheben, siehe Einen Kanal archivieren oder entarchivieren im Slack-Hilfe-Center.

Hinweis: Sie können das Löschen eines Slack-Kanals nicht rückgängig machen. Wenn der abonnierte Slack-Kanal gelöscht wurde, müssen Sie einen neuen Slack-Kanal erstellen und den neuen Kanal so konfigurieren, dass er Benachrichtigungen von Ihrem Thema erhält.

Stellen Sie sicher, dass die AWS Chatbot-App auf Ihrem Slack-Workspace installiert ist

Überprüfen Sie Ihre AWS Chatbot CloudWatch Logs auf die folgende Fehlermeldung: account_inactive. Wenn Sie eine Fehlermeldung account_inactive sehen, ist Ihre AWS Chatbot-App nicht in Ihrem Slack-Workspace installiert.

Folgen Sie den Anweisungen unter Chat-Clients für AWS Chatbot einrichten, um die AWS Chatbot-App auf Ihrem Slack-Workspace zu installieren.

(Nur für private Slack-Kanäle) Stellen Sie sicher, dass die AWS Chatbot-App zum Slack-Kanal hinzugefügt wird

Überprüfen Sie Ihre AWS Chatbot CloudWatch Logs auf die folgende Fehlermeldung: channel_not_found. Wenn Sie eine Fehlermeldung channel_not_found sehen, wurde Ihre AWS Chatbot-App nicht zum privaten Kanal hinzugefügt.

Um den AWS Chatbot zu einem privaten Slack-Kanal hinzuzufügen, führen Sie den Befehl /invite @AWS im privaten Kanal aus.

(Für Slack und Amazon Chime) Stellen Sie sicher, dass der Kommunikationskanal zwischen dem Amazon SNS-Thema und dem AWS Chatbot korrekt konfiguriert ist

Stellen Sie sicher, dass Ihr AWS Chatbot Ihr Amazon SNS-Thema abonniert hat

1.    Öffnen Sie die AWS Chatbot-Konsole.

2.    Wählen Sie unter Konfigurierte Clients basierend auf Ihrem Anwendungsfall Slack oder Amazon Chime aus.

3.    Wählen Sie Ihren Slack-Channel in der Slack-Workspace-Konfiguration oder Ihren Webhook in der Amazon Chime-Webhook-Liste.

4.    Wählen Sie Bearbeiten.

5.    Stellen Sie im Bereich Details unter Themen sicher, dass Ihr Amazon SNS-Thema aufgeführt ist. Wenn Ihr Amazon SNS-Thema nicht aufgeführt ist, müssen Sie mit dem AWS Chatbot Ihr Amazon SNS-Thema abonnieren.

Stellen Sie sicher, dass der AWS Chatbot-Endpunkt als Themenabonnement für Ihr Amazon SNS-Thema aufgeführt ist

1.    Öffnen Sie die Amazon SNS-Konsole.

2.    Wählen Sie im linken Navigationsbereich Themen aus. Wählen Sie dann den Namen Ihres Amazon SNS-Themas aus.

3.    Stellen Sie unter Themenabonnements sicher, dass der folgende AWS Chatbot-Endpunkt aufgeführt ist: https://global.sns-api-chatbot.amazonaws.com. Wenn der AWS Chatbot-Endpunkt nicht als Themenabonnement aufgeführt ist, müssen Sie den AWS Chatbot für Ihr Amazon SNS-Thema abonnieren.

Hinweis:Verwenden Sie zum Testen des Setups Ihre AWS Chatbot-Konfiguration, um eine Testbenachrichtigung zu senden.

Stellen Sie sicher, dass Sie Nachrichten nicht manuell zu Ihrem Amazon SNS-Thema veröffentlichen.

AWS Chatbot unterstützt keine Nachrichten, die manuell zu einem Amazon SNS-Thema veröffentlicht werden. Stellen Sie sicher, dass Sie Amazon SNS-Benachrichtigungen nur über einen der von AWS Chatbot unterstützten Dienste an Ihren AWS Chatbot senden.

Stellen Sie sicher, dass der AWS-Service, der Nachrichten zu Ihrem Amazon SNS-Thema veröffentlicht, von AWS Chatbot unterstützt wird.

Überprüfen Sie Ihre AWS Chatbot CloudWatch Logs auf folgende Fehlermeldung: Empfangenes Ereignis wird nicht unterstützt. Wenn Sie eine Fehlermeldung Empfangenes Ereignis wird nicht unterstützt sehen, wird der Service, der Nachrichten zu Ihrem Thema veröffentlicht, von AWS Chatbot nicht unterstützt.

Eine vollständige Liste der Services, die von AWS Chatbot unterstützt werden, finden Sie unter Verwenden von AWS Chatbot mit anderen AWS-Services.

Stellen Sie sicher, dass die Zugriffsrichtlinie Ihres Amazon SNS-Themas anderen AWS-Services die erforderlichen Berechtigungen erteilt, um Nachrichten zum Thema zu veröffentlichen.

1.    Öffnen Sie die Amazon SNS-Konsole.

2.    Wählen Sie im linken Navigationsbereich Themen aus.

3.    Wählen Sie das Thema aus, für das Sie Ihren AWS Chatbot abonniert haben. Wählen Sie dann Bearbeiten.

4.    Wählen Sie die Registerkarte Zugriffsrichtlinie. Prüfen Sie dann den Abschnitt Erklärung der Zugriffsrichtlinie. Stellen Sie sicher, dass die Richtlinie dem richtigen AWS-Service die Ausführung der SNS:Publish-API-Aktion ermöglicht.

5.    Wenn Ihre Amazon SNS-Zugriffsrichtlinie es dem richtigen Service nicht ermöglicht, Ereignisse zu Ihrem Thema zu veröffentlichen, aktualisieren Sie die Richtlinie wie folgt:
Wählen Sie im Abschnitt Details Ihrer Themenseite Bearbeiten aus.
Erweitern Sie den Abschnitt Zugriffsrichtlinie und fügen Sie dann die erforderlichen Berechtigungen hinzu.

Hinweis: Für Beispiele zu Amazon SNS-Zugriffsrichtlinien, siehe Konfigurieren von Amazon SNS-Themen für Benachrichtigungen im Benutzerhandbuch der Developer-Tools-Konsole. Lesen Sie auch Erstellen eines Amazon SNS-Themas für Budgetbenachrichtigungen im AWS-Fakturierung und -Kostenmanagement-Benutzerhandbuch.

Stellen Sie sicher, dass die Zustellung von Rohnachrichten in Ihrem Amazon SNS-Thema nicht aktiviert ist

AWS Chatbot akzeptiert keine Zustellung unformatierter Nachrichten. Gehen Sie wie folgt vor, um zu überprüfen, ob die Zustellung unformatierter Nachrichten in Ihrem Amazon SNS-Thema aktiviert ist:

1.    Öffnen Sie die Amazon SNS-Konsole.

2.    Wählen Sie im linken Navigationsbereich Themen aus. Wählen Sie dann den Namen Ihres Amazon SNS-Themas aus.

3.    Überprüfen Sie im Bereich Details für die Zustellung unformatierter Nachrichten, ob der Status als aktiviert oder deaktiviert aufgeführt ist.

4.    Wenn der Status als aktiviert aufgeführt ist, deaktivieren Sie die Zustellung unformatierter Nachrichten für Ihr Amazon SNS-Thema wie folgt:
Wählen Sie Bearbeiten.
Wählen Sie Zustellung unformatierter Nachrichten aktivieren, um die Option für die Zustellung unformatierter Nachrichten aufzuheben.
Wählen Sie Änderungen speichern.

Stellen Sie sicher, dass für Ihr Amazon SNS-Thema keine serverseitige Verschlüsselung (SSE) aktiviert ist

AWS Chatbot unterstützt SSE nicht. Gehen Sie wie folgt vor, um zu überprüfen, dass SSE in Ihrem Amazon-SNS-Thema nicht aktiviert ist:

1.    Öffnen Sie die Amazon SNS-Konsole.

2.    Wählen Sie im linken Navigationsbereich Themen aus. Wählen Sie dann den Namen Ihres Amazon SNS-Themas aus.

3.    Überprüfen Sie im Bereich Details unter Verschlüsselung, ob der Status als Konfiguriert oder Deaktiviert aufgeführt ist.

4.    Wenn der Status als Konfiguriert aufgeführt ist, deaktivieren Sie SSE für Ihr Amazon SNS-Thema wie folgt:
Wählen Sie Bearbeiten.
Erweitern Sie Verschlüsselung.
Wählen Sie Verschlüsselung deaktivieren.
Wählen Sie Änderungen speichern.

Stellen Sie sicher, dass Sie keine Nachrichten zu Ihrem Amazon SNS-Thema mit einer Rate von mehr als 10 Benachrichtigungen pro Sekunde veröffentlichen

AWS Chatbot erlaubt 10 Ereignisse pro Sekunde. Wenn mehr als 10 Ereignisse pro Sekunde empfangen werden, werden zusätzliche Nachrichten gedrosselt.

Um zu überprüfen, ob Ihre Ereignisse gedrosselt werden, überprüfen Sie die Metrik EventsThrottled in Ihren Amazon CloudWatch Logs für AWS Chatbot.

(Wenn Sie Amazon EventBridge verwenden) Stellen Sie sicher, dass Ihre EventBridge-Ereignisse keine Eingangstransformatoren verwenden

AWS Chatbot erkennt keine EventBridge-Eingangstransformatoren. Gehen Sie wie folgt vor, um zu überprüfen, dass Ihre Amazon EventBridge-Ereignisse keine Eingangstransformatoren verwenden:

1.    Öffnen Sie die EventBridge-Konsole.

2.    Wählen Sie im linken Navigationsbereich Regeln aus. Wählen Sie dann den Namen Ihrer konfigurierten Ereignisregel aus.

3.    Aktivieren Sie das Kontrollkästchen neben dem Amazon SNS-Thema, das Sie als Ziel für die Regel konfiguriert haben. Wählen Sie dann Details anzeigen.

4.    Überprüfen Sie, ob der Eingangstransformator unter Eingabe auf der Detailseite aufgeführt ist oder nicht. Wenn Eingangstransformator aufgeführt ist, entfernen Sie die Eingangstransformatoren aus Ihrer Regel.

Hinweis: Weitere Informationen finden Sie unter Transformation der Amazon EventBridge-Zieleingabe.

(Wenn Sie EventBridge verwenden) Stellen Sie sicher, dass Sie über EventBridge keine Ereignisbenachrichtigungen von AWS-Services senden, die AWS Chatbot nicht unterstützt

AWS Chatbot unterstützt keine über Amazon EventBridge gesendeten Ereignisbenachrichtigungen von den folgenden AWS-Services:

  • Amazon CloudWatch
  • AWS CodeBuild
  • AWS CodeCommit
  • AWS CodeDeploy
  • AWS CodePipeline