Salta al contenuto

Perché il mio topic Amazon SNS non ha ricevuto notifiche di eventi Amazon S3?

3 minuti di lettura
0

Ho creato una notifica di evento Amazon Simple Storage Service (Amazon S3) per inviare messaggi tramite il mio topic Amazon Simple Notification Service (Amazon SNS). Tuttavia, le nuove notifiche di eventi nel mio bucket Amazon S3 non hanno pubblicato messaggi sul topic Amazon SNS.

Risoluzione

Verifica di aver configurato correttamente il tipo di evento Amazon S3

Quando configuri una notifica di eventi Amazon S3, devi specificare i tipi di eventi Amazon S3 supportati che causano l'invio della notifica da parte di Amazon S3. Se nel bucket Amazon S3 si verifica un tipo di evento che non hai specificato, Amazon S3 non invia la notifica.

Verifica che i filtri per i nomi delle chiavi degli oggetti siano in formato con codifica URL (codifica percentuale)

Se hai configurato le notifiche degli eventi per utilizzare il filtro dei nomi delle chiavi degli oggetti, Amazon S3 pubblica le notifiche solo per oggetti con prefissi o suffissi specifici.

Se utilizzi caratteri speciali prefissi o suffissi, devi inserirli nel formato con codifica URL (codifica percentuale). Per ulteriori informazioni, consulta Linee guida per la denominazione delle chiavi degli oggetti e Utilizzo dei metadati degli oggetti.

Nota: non puoi utilizzare un carattere jolly ("*") nei filtri come prefisso o suffisso per rappresentare un carattere.

Verifica di aver concesso ad Amazon S3 le autorizzazioni necessarie per pubblicare messaggi sul topic

La policy basata sulle risorse del topic Amazon SNS deve consentire al bucket Amazon S3 di pubblicare messaggi sul topic. Controlla la policy AWS Identity and Access Management (IAM) del topic per verificare che disponga delle autorizzazioni richieste e concedi le autorizzazioni se necessario.

Verifica che il topic disponga delle autorizzazioni AWS KMS per i topic crittografati con SSE

Se hai attivato la crittografia lato server (SSE) sul topic SNS, il topic deve utilizzare una chiave del Servizio di gestione delle chiavi AWS (AWS KMS) gestita dal cliente. La chiave AWS KMS deve includere una policy della chiave personalizzata che conceda ad Amazon S3 l'autorizzazione all'utilizzo della chiave.

Per configurare le autorizzazioni AWS KMS richieste, completa i seguenti passaggi:

  1. Crea una nuova chiave AWS KMS gestita dal cliente e la relativa policy.

  2. Modifica la policy della chiave per includere la seguente istruzione che consente ad Amazon S3 di pubblicare messaggi sul topic SNS crittografato:

    {
        "version": "2012-10-17",
        "statement": [
            {
                "effect": "allow",
                "principal": {
                    "service": "s3.amazonaws.com"
                },
                "action": [
                    "kms:generatedatakey*",
                    "kms:decrypt"
                ],
                "resource": "*"
            }
        ]
    }
  3. Utilizza la chiave AWS KMS per configurare SSE per il topic Amazon SNS.

Utilizza le metriche di CloudWatch per ulteriori risoluzioni dei problemi

Se il topic SNS continua a non ricevere notifiche di eventi Amazon S3, controlla la metrica NumberOfMessagePublished di Amazon CloudWatch per SNS. Questa metrica mostra se Amazon S3 ha pubblicato gli eventi. Se non sono presenti metriche per NumberOfMessagePublished, la configurazione del passaggio da ìAmazon S3 ad Amazon SNS non è corretta.

Se sono presenti metriche per NumberOfMessagePublished, controlla le metriche NumberOfNotificationsDelivered e NumberOfNotificationsFailed. Queste metriche mostrano se il topic SNS ha recapitato i messaggi a un endpoint di abbonamento.

Per facilitare la risoluzione dei problemi, puoi anche configurare la registrazione dello stato di consegna per i topic SNS.

Informazioni correlate

Consentire la pubblicazione delle notifiche degli eventi Amazon S3 su un argomento