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

Lesedauer: 7 Minute
0

Ich habe einen AWS Chatbot für mein Thema im 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.

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 löschen in der Slack-Hilfe.

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 das Thema nicht aufgeführt ist, müssen Sie Ihr Amazon-SNS-Thema für Ihren AWS Chatbot 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 Ihr Amazon-SNS-Thema auf Ihren AWS Chatbot 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: Beispiele zu Amazon SNS-Zugriffsrichtlinien finden Sie unter 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 Benutzerhandbuch für AWS-Fakturierung und -Kostenmanagement.

Stellen Sie sicher, dass die Zustellung unformatierter Nachrichten 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.

(Wenn Sie Amazon SNS-Themen mit aktivierter serverseitiger Verschlüsselung verwenden) Stellen Sie sicher, dass Sie die erforderlichen Schlüsselrichtlinienberechtigungen des AWS Key Management Service (AWS KMS) einbeziehen.

Ihre AWS KMS-Schlüsselrichtlinie muss zulassen, dass der Service, der Nachrichten sendet, in Ihren verschlüsselten SNS-Themen veröffentlicht wird.

Stellen Sie sicher, dass Ihre AWS KMS-Schlüsselrichtlinie den folgenden Abschnitt umfasst:
Wichtig: Ersetzen Sie events.amazonaws.com durch den AWS-Service-Prinzipal für den Service, der in Ihren verschlüsselten SNS-Themen veröffentlicht wird

{
  "Sid": "Allow CWE to use the key",
  "Effect": "Allow",
  "Principal": {
    "Service": "events.amazonaws.com"
    },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*"
}

Hinweis: Um die Konfiguration mit der AWS-Managementkonsole zu testen, benötigt Ihre Rolle aus dem AWS Identity and Access Management (IAM) die Berechtigung zur Verwendung des AWS KMS-Schlüssels.

Stellen Sie sicher, dass Sie Nachrichten zu Ihrem Amazon SNS-Thema nicht 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

Verwandte Informationen

Fehlerbehebung bei AWS Chatbot

Wie verwende ich Webhooks, um Amazon SNS-Nachrichten auf Amazon Chime, Slack oder in Microsoft Teams zu veröffentlichen?

Benachrichtigungen von AWS Services an Amazon Chime oder Slack mit CloudWatch testen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren