Administración de suscripciones en Amazon SNS - AWS SDK for JavaScript

Anunciamos la próxima AWS SDK for JavaScript versión end-of-support para la versión 2. Le recomendamos que migre a la AWS SDK for JavaScript versión 3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de suscripciones en Amazon SNS


                    JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Cómo mostrar una lista de todas las suscripciones en un tema de Amazon SNS.

  • Cómo suscribir una dirección de correo electrónico, un punto de conexión de una aplicación o una función AWS Lambda a un tema de Amazon SNS.

  • Cómo cancelar una suscripción a temas de Amazon SNS.

El escenario

En este ejemplo, va a utilizar una serie de módulos de Node.js para publicar mensajes de notificación en temas de Amazon SNS. Los módulos de Node.js usan el SDK para JavaScript para administrar temas mediante los métodos de clase de cliente de Amazon SNS siguientes:

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:

Generación de una lista de suscripciones a un tema

En este ejemplo, utilice un módulo de Node.js para generar una lista de todas las suscripciones a un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_listsubscriptions.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga el parámetro TopicArn para el tema cuyas suscripciones desee incluir en la lista. Transfiera los parámetros al método listSubscriptionsByTopic de la clase de cliente de Amazon SNS. Para llamar al método listSubscriptionsByTopic, cree una promesa para invocar un objeto de servicio de Amazon SNS pasando el objeto de parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set region AWS.config.update({ region: "REGION" }); const params = { TopicArn: "TOPIC_ARN", }; // Create promise and SNS service object var subslistPromise = new AWS.SNS({ apiVersion: "2010-03-31" }) .listSubscriptionsByTopic(params) .promise(); // Handle promise's fulfilled/rejected states subslistPromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node sns_listsubscriptions.js

Este código de muestra se puede encontrar aquí en GitHub.

Suscripción de una dirección de correo electrónico a un tema

En este ejemplo, va a utilizar un módulo de Node.js para suscribir una dirección de correo electrónico para que reciba mensajes de correo electrónico SMTP de un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_subscribeemail.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga el parámetro Protocol para especificar el protocolo de email, el TopicArn del tema al que se suscribirá y una dirección de correo electrónico como el mensaje Endpoint. Transfiera los parámetros al método subscribe de la clase de cliente de Amazon SNS. Puede utilizar el método subscribe para suscribir varios puntos de conexión diferentes a un tema de Amazon SNS, en función de los valores que se utilicen para los parámetros que se transfieran, tal y como se verá en otros ejemplos de este tema.

Para llamar al método subscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS pasando el objeto de parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set region AWS.config.update({ region: "REGION" }); // Create subscribe/email parameters var params = { Protocol: "EMAIL" /* required */, TopicArn: "TOPIC_ARN" /* required */, Endpoint: "EMAIL_ADDRESS", }; // Create promise and SNS service object var subscribePromise = new AWS.SNS({ apiVersion: "2010-03-31" }) .subscribe(params) .promise(); // Handle promise's fulfilled/rejected states subscribePromise .then(function (data) { console.log("Subscription ARN is " + data.SubscriptionArn); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node sns_subscribeemail.js

Este código de muestra se puede encontrar aquí en GitHub.

Suscripción de un punto de enlace de aplicación a un tema

En este ejemplo, va a utilizar un módulo de Node.js para suscribir un punto de conexión de una aplicación móvil para que reciba notificaciones de un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_subscribeapp.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga el parámetro Protocol para especificar el protocolo de la application, el TopicArn del tema al que va a suscribirse y el ARN del punto de enlace de la aplicación móvil para el parámetro Endpoint. Transfiera los parámetros al método subscribe de la clase de cliente de Amazon SNS.

Para llamar al método subscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS pasando el objeto de parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set region AWS.config.update({ region: "REGION" }); // Create subscribe/email parameters var params = { Protocol: "application" /* required */, TopicArn: "TOPIC_ARN" /* required */, Endpoint: "MOBILE_ENDPOINT_ARN", }; // Create promise and SNS service object var subscribePromise = new AWS.SNS({ apiVersion: "2010-03-31" }) .subscribe(params) .promise(); // Handle promise's fulfilled/rejected states subscribePromise .then(function (data) { console.log("Subscription ARN is " + data.SubscriptionArn); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node sns_subscribeapp.js

Este código de muestra se puede encontrar aquí en GitHub.

Suscripción de una función de Lambda a un tema

En este ejemplo, va a utilizar un módulo de Node.js para suscribir una función AWS Lambda para que reciba notificaciones de un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_subscribelambda.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga el parámetro Protocol y que especifique el protocolo lambda, el TopicArn del tema al que va a suscribirse y el ARN de una función AWS Lambda como el parámetro Endpoint. Transfiera los parámetros al método subscribe de la clase de cliente de Amazon SNS.

Para llamar al método subscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS pasando el objeto de parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set region AWS.config.update({ region: "REGION" }); // Create subscribe/email parameters var params = { Protocol: "lambda" /* required */, TopicArn: "TOPIC_ARN" /* required */, Endpoint: "LAMBDA_FUNCTION_ARN", }; // Create promise and SNS service object var subscribePromise = new AWS.SNS({ apiVersion: "2010-03-31" }) .subscribe(params) .promise(); // Handle promise's fulfilled/rejected states subscribePromise .then(function (data) { console.log("Subscription ARN is " + data.SubscriptionArn); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node sns_subscribelambda.js

Este código de muestra se puede encontrar aquí en GitHub.

Cancelación de la suscripción a un tema

En este ejemplo, utilice un módulo de Node.js para cancelar la suscripción a un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_unsubscribe.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga el parámetro SubscriptionArn que especifique el ARN de la suscripción que desea cancelar. Transfiera los parámetros al método unsubscribe de la clase de cliente de Amazon SNS.

Para llamar al método unsubscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS pasando el objeto de parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set region AWS.config.update({ region: "REGION" }); // Create promise and SNS service object var subscribePromise = new AWS.SNS({ apiVersion: "2010-03-31" }) .unsubscribe({ SubscriptionArn: TOPIC_SUBSCRIPTION_ARN }) .promise(); // Handle promise's fulfilled/rejected states subscribePromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node sns_unsubscribe.js

Este código de muestra se puede encontrar aquí en GitHub.