Uso do AWS Lambda com o Amazon SNS - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Uso do AWS Lambda com o Amazon SNS

Você pode usar uma função do Lambda para processar notificações do Amazon Simple Notification Service (Amazon SNS). O Amazon SNS oferece suporte às funções do Lambda como destino para mensagens enviadas para um tópico. É possível inscrever a sua função em tópicos na mesma conta ou em outras contas da AWS.

O Amazon SNS invoca a função de forma assíncrona com um evento que contém uma mensagem e metadados.

exemplo Evento da mensagem do Amazon SNS
{ "Records": [ { "EventVersion": "1.0", "EventSubscriptionArn": "arn:aws:sns:us-east-1:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "EventSource": "aws:sns", "Sns": { "SignatureVersion": "1", "Timestamp": "2019-01-02T12:45:07.000Z", "Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "SigningCertUrl": "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-ac565b8b1a6c5d002d285f9598aa1d9b.pem", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "Hello from SNS!", "MessageAttributes": { "Test": { "Type": "String", "Value": "TestString" }, "TestBinary": { "Type": "Binary", "Value": "TestBinary" } }, "Type": "Notification", "UnsubscribeUrl": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:123456789012:test-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", "TopicArn":"arn:aws:sns:us-east-1:123456789012:sns-lambda", "Subject": "TestInvoke" } } ] }

Para invocação assíncrona, o Lambda enfileira a mensagem e processa novas tentativas. Se o Amazon SNS não puder acessar o Lambda ou se a mensagem for rejeitada, o Amazon SNS tentará novamente em intervalos crescentes ao longo de várias horas. Para obter detalhes, consulte Confiabilidade nas Perguntas frequentes do Amazon SNS.

Para executar entregas do Amazon SNS para o Lambda entre contas para o, você deve autorizar o Amazon SNS para invocar a sua função do Lambda. Por sua vez, o Amazon SNS deve permitir que oAWSCom a função do Lambda para assinar o tópico do Amazon SNS. Por exemplo, se o tópico do Amazon SNS estiver em uma conta A e a função do Lambda estiver em uma conta B, as duas contas deverão conceder permissões uma para a outra para acesso a seus respectivos recursos. Como nem todas as opções para configurar permissões entre contas estão disponíveis no AWS Management Console, você deve usar a AWS Command Line Interface (AWS CLI) para a configuração.

Para obter mais informações, consulte Invocar funções do Lambda no Guia do desenvolvedor do Amazon Simple Notification Service.

Tipos de entrada para eventos do Amazon SNS

Para exemplos de tipos de entrada para eventos do Amazon SNS em Java, .NET e Go, consulte o seguinte no AWS GitHub repositório: