Perché il mio AWS Chatbot non riceve messaggi da Amazon SNS?

8 minuti di lettura
0

Ho sottoscritto un AWS Chatbot per il mio argomento Amazon Simple Notification Service (Amazon SNS). Tuttavia, le notifiche dal mio argomento Amazon SNS non raggiungono AWS Chatbot. In che modo posso risolvere il problema?

Breve descrizione

Se le notifiche dell'argomento Amazon SNS non raggiungono AWS Chatbot, una delle seguenti opzioni è configurata in modo errato:

  • (Solo per Slack) Il canale di comunicazione tra AWS Chatbot e il canale Slack.
  • (Per Slack e Amazon Chime) Il canale di comunicazione tra l'argomento Amazon SNS e AWS Chatbot.

Risoluzione

Attiva CloudWatch Logs per il tuo AWS Chatbot

Segui le istruzioni in Accesso ad Amazon CloudWatch Logs per AWS Chatbot.

(Solo per Slack) Verifica che il canale di comunicazione tra AWS Chatbot e il canale Slack sia configurato correttamente

Assicurati che il canale Slack non sia archiviato o eliminato

I canali Slack archiviati o eliminati non possono ricevere messaggi. Tutte le app nei canali Slack archiviati o eliminati sono disattivate.

Per annullare l'archiviazione di un canale, consulta Archiviazione o eliminazione di un canale nel centro assistenza Slack.

Nota: non è possibile annullare l'eliminazione di un canale Slack. Se il canale Slack sottoscritto viene eliminato, devi creare un nuovo canale Slack e configurare il nuovo canale per ricevere notifiche dal tuo argomento.

Assicurati che l'app AWS Chatbot sia installata nell'area di lavoro di Slack

Controlla in AWS Chatbot CloudWatch Logs il seguente messaggio di errore: account_inactive. Se visualizzi un messaggio di errore account_inactive, l'app AWS Chatbot non è installata nell'area di lavoro di Slack.

Per installare l'app AWS Chatbot nell'area di lavoro di Slack, segui le istruzioni in Configurare client di chat per AWS Chatbot.

(Solo per canali Slack privati) Assicurati che l'app AWS Chatbot sia aggiunta al canale Slack

Controlla in AWS Chatbot CloudWatch Logs il seguente messaggio di errore: channel_not_found. Se viene visualizzato un messaggio di errore channel_not_found, l'app AWS Chatbot non è stata aggiunta al canale privato.

Per aggiungere AWS Chatbot a un canale Slack privato, esegui il comando /invite@AWS nel canale privato.

(Per Slack e Amazon Chime) Verifica che il canale di comunicazione tra l'argomento Amazon SNS e AWS Chatbot sia configurato correttamente

Assicurati che AWS Chatbot sia sottoscritto al tuo argomento Amazon SNS

1.    Apri la console di AWS Chatbot.

2.    In Configured clients (Client configurati), scegli Slack o Amazon Chime in base al tuo caso d'uso.

3.    Scegli il tuo canale Slack nella configurazione dell'area di lavoro di Slack o il webhook nell'elenco dei webhook di Amazon Chime.

4.    Seleziona Edit (Modifica).

5.    Nel riquadro Details (Dettagli), in Topics (Argomenti), verifica che il tuo argomento Amazon SNS sia elencato. Se l'argomento non è elencato, devi sottoscrivere il tuo argomento Amazon SNS al tuo AWS Chatbot.

Assicurati che l'endpoint AWS Chatbot sia elencato come sottoscrizione agli argomenti per il tuo argomento Amazon SNS

1.    Apri la console Amazon SNS.

2.    Nel riquadro di navigazione a sinistra, seleziona Topics (Argomenti). Quindi, scegli il nome dell'argomento Amazon SNS.

3.    In Topic subscriptions (Sottoscrizioni agli argomenti), assicurati che sia elencato il seguente endpoint AWS Chatbot: https://global.sns-api.chatbot.amazonaws.com. Se l'endpoint AWS Chatbot non è elencato come sottoscrizione agli argomenti, devi registrare l'argomento Amazon SNS al tuo AWS Chatbot.

Nota: per testare la configurazione, utilizza la configurazione di AWS Chatbot per inviare una notifica di prova.

Assicurati di non pubblicare manualmente messaggi sul tuo argomento Amazon SNS

AWS Chatbot non supporta i messaggi pubblicati manualmente su un argomento Amazon SNS. Assicurati di inviare notifiche di Amazon SNS ad AWS Chatbot solo tramite uno dei servizi supportati da AWS Chatbot.

Assicurati che il servizio AWS che pubblica messaggi sul tuo argomento Amazon SNS sia supportato da AWS Chatbot

Controlla in AWS Chatbot CloudWatch Logs il seguente messaggio di errore: Event Received is not supported (Evento ricevuto non supportato). Se visualizzi un messaggio di errore Event Received is not supported (Evento ricevuto non supportato), il servizio che pubblica messaggi sul tuo argomento non è supportato da AWS Chatbot.

Per un elenco completo dei servizi supportati da AWS Chatbot, consulta Utilizzo di AWS Chatbot con altri servizi AWS.

Assicurati che la policy di accesso del tuo argomento Amazon SNS conceda le autorizzazioni necessarie perché un altro servizio AWS pubblichi messaggi sull'argomento

1.    Apri la console Amazon SNS.

2.    Nel riquadro di navigazione a sinistra, seleziona Topics (Argomenti).

3.    Scegli l'argomento a cui hai sottoscritto AWS Chatbot. Quindi, seleziona Edit (Modifica).

4.    Scegli la scheda Access policy (Policy di accesso). Quindi, rivedi la sezione Dichiarazione della policy di accesso. Assicurati che la policy consenta al servizio AWS corretto di eseguire l'azione API SNS:Publish.

5.    Se la policy di accesso di Amazon SNS non consente al servizio corretto di pubblicare eventi sul tuo argomento, aggiorna la policy effettuando le seguenti operazioni:
Nella sezione Details (Dettagli) della pagina dell'argomento, scegli Edit (Modifica).
Espandi la sezione Policy di accesso e quindi aggiungi le autorizzazioni richieste.

Nota: per esempi delle policy di accesso di Amazon SNS di esempio, consulta Configurazione degli argomenti Amazon SNS per le notifiche nella Guida per l'utente della console degli strumenti di sviluppo. Inoltre, consulta Creazione di un argomento Amazon SNS per le notifiche di budget nella Guida per l'utente di Gestione costi e fatturazione AWS.

Assicurati che la consegna di messaggi non elaborati non sia attivata nel tuo argomento Amazon SNS

AWS Chatbot non accetta la consegna di messaggi non elaborati. Per verificare che la consegna di messaggi non elaborati sia attivata sul tuo argomento Amazon SNS, procedi come segue:

1.    Apri la console Amazon SNS.

2.    Nel riquadro di navigazione a sinistra, seleziona Topics (Argomenti). Quindi, scegli il nome dell'argomento Amazon SNS.

3.    Nel riquadro Details (Dettagli), per Raw message delivery (Consegna di messaggi non elaborati), verifica se lo stato è elencato come abilitato o disabilitato.

4.    Se lo stato è elencato come abilitato, disattiva la consegna di messaggi non elaborati nel tuo argomento Amazon SNS effettuando le seguenti operazioni:
Seleziona Modifica.
Scegli Enable raw message delivery (Abilita consegna di messaggi non elaborati) per deselezionare l'opzione di consegna dei messaggi non elaborati.
Scegli Salva modifiche.

(Se utilizzi argomenti di Amazon SNS con crittografia lato server attivata) Assicurati di includere le autorizzazioni richieste per le policy delle chiavi di AWS Key Management Service (AWS KMS)

La policy delle chiavi di AWS KMS deve consentire al servizio che invia messaggi di pubblicare nei tuoi argomenti SNS crittografati.

Assicurati che la tua policy delle chiavi di AWS KMS includa la seguente sezione:
Importante: sostituisci events.amazonaws.com con il principale del servizio AWS per il servizio che pubblica nei tuoi argomenti SNS crittografati

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

Nota: per testare la configurazione tramite la Console di gestione AWS, il tuo ruolo AWS Identity and Access Management (IAM) ha bisogno l'autorizzazione per utilizzare la chiave AWS KMS.

Assicurati di non pubblicare messaggi sul tuo argomento Amazon SNS a una velocità superiore a 10 notifiche al secondo

AWS Chatbot consente 10 eventi al secondo. Se vengono ricevuti più di 10 eventi al secondo, vengono limitati i messaggi aggiuntivi.

Per verificare se gli eventi vengono limitati, rivedi il parametro EventsThrottled in Amazon CloudWatch Logs per AWS Chatbot.

(Se utilizzi Amazon EventBridge) Assicurati che gli eventi EventBridge non utilizzino trasformatori di input

AWS Chatbot non riconosce i trasformatori di ingresso EventBridge. Per verificare se gli eventi Amazon EventBridge non utilizzano trasformatori di ingresso, procedi come segue:

1.    Apri la console di EventBridge.

2.    Nel riquadro di navigazione a sinistra, scegli Rules (Regole). Quindi, scegli il nome della regola di evento configurata.

3.    Seleziona la casella di controllo accanto all'argomento Amazon SNS che hai configurato come destinazione per la regola. Quindi, scegli Visualizza dettagli.

4.    Verifica se Input Transformer (Trasformatore di input) è elencato o meno nella sezione Input della pagina dei dettagli. Se Input Transformer (Trasformatore di input) è elencato, rimuovi i trasformatori di input dalla regola.

Nota: per ulteriori informazioni, consulta la sezione relativa alla trasformazione dell'input di destinazione di Amazon EventBridge.

(Se utilizzi EventBridge) Assicurati di non inviare notifiche di eventi dai servizi AWS che AWS Chatbot non supporta tramite EventBridge

AWS Chatbot non supporta le notifiche di eventi inviate tramite Amazon EventBridge dai seguenti servizi AWS:

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

Informazioni correlate

Risoluzione dei problemi di AWS Chatbot

In che modo posso utilizzare i webhook per pubblicare messaggi Amazon SNS su Amazon Chime, Slack o Microsoft Teams?

Prova le notifiche dei servizi AWS ad Amazon Chime o Slack utilizzando CloudWatch

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa