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

LaAWS SDK for JavaScript versión 3 (v3) es una reescritura de la versión 2 con algunas funciones nuevas y excelentes, incluida la arquitectura modular. Para obtener más información, consulte la Guía para desarrolladores de la versiónAWS SDK for JavaScript 3.

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 generar una lista de todas las suscripciones a un tema de Amazon SNS.

  • Cómo suscribir una dirección de correo electrónico, un punto de enlace de una aplicación o unAWS Lambdaa 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 estos métodos deAWS.SNSclase de cliente:

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 AWS.SNS. Para llamar alistSubscriptionsByTopic, cree una promesa para invocar un objeto de servicio de Amazon SNS transfiriendo 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 AWS.SNS. Puede utilizar elsubscribepara suscribir varios puntos de enlace 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 asubscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS transfiriendo 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 enlace 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 AWS.SNS.

Para llamar asubscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS transfiriendo 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 Lambda a un tema

En este ejemplo, utilice un módulo de Node.js para suscribir unAWS Lambdapara recibir 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 AWS.SNS.

Para llamar asubscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS transfiriendo 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 AWS.SNS.

Para llamar aunsubscribe, cree una promesa para invocar un objeto de servicio de Amazon SNS transfiriendo 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.