Por que meu tópico do Amazon SNS não está recebendo notificações de eventos do Amazon S3?

4 minuto de leitura
0

Eu criei uma notificação de evento do Amazon Simple Storage Service (Amazon S3) para enviar mensagens por meio do meu tópico do Amazon Simple Notification Service (Amazon SNS). No entanto, meu tópico do Amazon SNS não está publicando mensagens quando novos eventos ocorrem no meu bucket do Amazon S3.

Resolução

Confirme se o tipo de evento do Amazon S3 está configurado corretamente

Ao configurar uma notificação de evento do Amazon S3, você deve especificar quais tipos de eventos compatíveis do Amazon S3 fazem com que o Amazon S3 envie a notificação. Se um tipo de evento que você não especificou ocorrer em seu bucket do Amazon S3, o Amazon S3 não enviará a notificação.

Confirme se os filtros de nome de chave de objeto estão no formato codificado em URL (codificado por porcentagem)

Se suas notificações de eventos estiverem configuradas para usar a filtragem de nome de chave de objeto, as notificações serão publicadas somente para objetos com prefixos ou sufixos específicos.

Se você usar caracteres especiais em seus prefixos ou sufixos, deverá inseri-los no formato codificado em URL (codificado por porcentagem). Para obter mais informações, consulte Diretrizes de nomeação de chave de objeto e Trabalhar com metadados de objeto.

Observação: um caractere curinga (“*”) não pode ser usado em filtros como prefixo ou sufixo para representar qualquer caractere.

Confirme que você concedeu ao Amazon S3 as permissões necessárias para publicar mensagens em seu tópico

A política baseada em recursos do seu tópico do Amazon SNS deve permitir que o bucket do Amazon S3 publique mensagens no tópico.

Verifique a política do AWS Identity and Access Management (IAM) do seu tópico para confirmar se ele tem as permissões necessárias e adicione-as, se necessário. Para obter mais informações, consulte Conceder permissões para publicar mensagens em um tópico do SNS ou em uma fila do SQS.

(Para tópicos com criptografia do lado do servidor (SSE) ativada) Confirme se seu tópico tem as permissões necessárias do AWS Key Management (AWS KMS)

Seu tópico do Amazon SNS deve usar uma chave do AWS KMS gerenciada pelo cliente. Essa chave KMS deve incluir uma política de chave personalizada que dê ao Amazon S3 permissões suficientes de uso da chave.

Para configurar as permissões necessárias do AWS KMS, conclua as seguintes etapas:

1.    Crie uma nova chave KMS que seja gerenciada pelo cliente e inclua as permissões necessárias para o Amazon S3.

2.    Configure o SSE para seu tópico do Amazon SNS usando a chave KMS personalizada que você acabou de criar.

3.    Configure as permissões do AWS KMS que permitem que o Amazon S3 publique mensagens em seu tópico criptografado.

Exemplo de declaração de política do IAM que permite que o Amazon S3 publique mensagens em um tópico criptografado do Amazon SNS

{
"version": "2012-10-17",
"statement": [{
    "effect": "allow",
    "principal": {"service": "s3.amazonaws.com"},
    "action": ["kms:generatedatakey*", "kms:decrypt"],
    "resource": "*"
}]
}

Se a notificação de evento do Amazon S3 ainda não for recebida no tópico SNS, verifique a métrica NumberOfMessagePublished do Amazon SNS CloudWatch. Essa métrica mostra se o Amazon S3 está publicando os eventos. Se a métrica não for preenchida, há um problema com a configuração do Amazon S3 para o Amazon SNS.

Se a métrica NumberOfMessagePublished estiver preenchida, verifique as métricas NumberOfNotificationsDelivered e NumberOfNotificationsFailed. Essas métricas mostram se as mensagens foram entregues com êxito aos endpoints assinantes a partir do seu tópico do Amazon SNS.

O Amazon SNS fornece suporte para registrar o status de entrega das mensagens de notificação enviadas para tópicos com endpoints do Amazon SNS. Isso inclui HTTP, Amazon Kinesis Data Firehose, AWS Lambda, endpoint do aplicativo da plataforma, Amazon Simple Queue Service e AWS SMS. Ative os logs de status de entrega de tópicos do Amazon SNS como uma etapa adicional de solução de problemas.


Informações relacionadas

Permitir que notificações de eventos do Amazon S3 publiquem em um tópico

AWS OFICIAL
AWS OFICIALAtualizada há um ano