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, as novas notificações de eventos no meu bucket do Amazon S3 não publicaram mensagens no tópico do Amazon SNS.
Resolução
Confirmar se configurou corretamente o tipo de evento do Amazon S3
Ao configurar uma notificação de evento do Amazon S3, você deve especificar os tipos de eventos do Amazon S3 compatíveis que 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 você configurou suas notificações de eventos para usar a filtragem de nomes de chaves de objetos, o Amazon S3 publica notificações 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: não é possível usar um caractere curinga ("*") nos filtros como prefixo ou sufixo para representar um 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 (AWS IAM) do seu tópico para confirmar se ele tem as permissões necessárias e conceda permissões, se necessário.
Confirmar se o tópico tem permissões do AWS KMS para tópicos criptografados com SSE
Se você ativou a criptografia do lado do servidor (SSE) em seu tópico do SNS, este deverá usar uma chave do AWS Key Management (AWS KMS) gerenciada pelo cliente. A chave do AWS KMS deve incluir uma política de chave personalizada que conceda ao Amazon S3 permissão para usar a chave.
Para configurar as permissões necessárias do AWS KMS, conclua as etapas a seguir:
-
Crie uma nova política de chaves e chaves do AWS KMS gerenciada pelo cliente.
-
Edite a política de chaves para incluir a seguinte instrução que permite ao Amazon S3 publicar mensagens em seu tópico do SNS criptografado:
{
"version": "2012-10-17",
"statement": [
{
"effect": "allow",
"principal": {
"service": "s3.amazonaws.com"
},
"action": [
"kms:generatedatakey*",
"kms:decrypt"
],
"resource": "*"
}
]
}
-
Use a chave do AWS KMS para configurar o SSE para seu tópico do Amazon SNS.
Usar as métricas do CloudWatch para solucionar problemas adicionais
Se o tópico do SNS ainda não receber a notificação do evento Amazon S3, verifique a métrica NumberOfMessagePublished do Amazon CloudWatch para SNS. Essa métrica mostra se o Amazon S3 publicou os eventos. Se não houver métrica de NumberOfMessagePublished, então há um problema com a configuração do Amazon S3 para o Amazon SNS.
Se houver métricas para NumberOfMessagePublished, verifique as métricas NumberOfNotificationsDelivered e NumberOfNotificationsFailed. Essas métricas mostram se o tópico do SNS entregou as mensagens a um endpoint de assinatura.
Para ajudar a solucionar problemas, também é possível configurar o registro em log do status de entrega para tópicos do SNS.
Informações relacionadas
Permitir que notificações de eventos do Amazon S3 publiquem em um tópico