O Guia de API referência da AWS SDK for JavaScript V3 descreve detalhadamente todas as API operações da AWS SDK for JavaScript versão 3 (V3).
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á.
Publicação de mensagens no Amazon SNS
Este exemplo de código Node.js mostra:
-
Como publicar mensagens em um tópico do Amazon SNS.
O cenário
Neste exemplo, você usa uma série de módulos do Node.js para publicar mensagens do Amazon SNS nos endpoints do tópico, e-mails ou números de telefone. Os módulos do Node.js usam o SDK para JavaScript para enviar mensagens usando este método da classe de cliente SNS
:
Tarefas de pré-requisito
Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:
-
Configure o ambiente do projeto para executar estes exemplos do Node TypeScript e instale os módulos do AWS SDK for JavaScript e de terceiros necessários. Siga as instruções no GitHub
. -
Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhado, consulte Arquivos de configuração e credenciais compartilhados no Guia de referência de ferramentas e SDKs da AWS.
Importante
Esses exemplos demonstram como importar/exportar objetos e comandos do serviço de cliente usando o ECMAScript6 (ES6).
Isso requer o Node.js versão 13.x ou superior. Para baixar e instalar a versão mais recente do Node.js, consulte Downloads do Node.js
. Se você preferir usar a sintaxe do CommonJS, consulte Sintaxe ES6/CommonJS de JavaScript.
Publicar uma mensagem em um tópico do SNS
Neste exemplo, use um módulo do Node.js para publicar uma mensagem em um tópico do Amazon SNS.
Crie um diretório libs
e um módulo do Node.js com o nome de arquivo snsClient.js
. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon SNS. Substitua REGION
pela sua região da AWS.
import { SNSClient } from "@aws-sdk/client-sns"; // The AWS Region can be provided here using the `region` property. If you leave it blank // the SDK will default to the region set in your AWS config. export const snsClient = new SNSClient({});
Esse código de exemplo pode ser encontrado aqui no GitHub
Crie um módulo do Node.js com o nome de arquivo publish-topic.js
. Configure o SDK como mostrado anteriormente.
Crie um objeto que contenha os parâmetros para publicar uma mensagem, incluindo o texto da mensagem e o nome do recurso da Amazon (ARN) do tópico do Amazon SNS. Para obter detalhes sobre os atributos de SMS disponíveis, consulte SetSMSAttributes.
Passe os parâmetros para o método PublishCommand
da classe de cliente SNS
. Crie uma função assíncrona que invoca um objeto de serviço de cliente do Amazon SNS, passando o objeto dos parâmetros.
nota
Substitua MESSAGE_TEXT
pelo texto da mensagem e TOPIC_ARN
pelo ARN do tópico do SNS.
import { PublishCommand } from "@aws-sdk/client-sns"; import { snsClient } from "../libs/snsClient.js"; /** * @param {string | Record<string, any>} message - The message to send. Can be a plain string or an object * if you are using the `json` `MessageStructure`. * @param {string} topicArn - The ARN of the topic to which you would like to publish. */ export const publish = async ( message = "Hello from SNS!", topicArn = "TOPIC_ARN", ) => { const response = await snsClient.send( new PublishCommand({ Message: message, TopicArn: topicArn, }), ); console.log(response); // { // '$metadata': { // httpStatusCode: 200, // requestId: 'e7f77526-e295-5325-9ee4-281a43ad1f05', // extendedRequestId: undefined, // cfId: undefined, // attempts: 1, // totalRetryDelay: 0 // }, // MessageId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' // } return response; };
Para executar o exemplo, digite o seguinte no prompt de comando.
node publish-topic.js
Esse código de exemplo pode ser encontrado aqui no GitHub