Administración de temas 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 temas en Amazon SNS


                    JavaScript code example that applies to Node.js execution

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

  • Cómo crear temas en Amazon SNS en los que pueda publicar notificaciones.

  • Cómo eliminar temas creados en Amazon SNS.

  • Cómo obtener una lista de los temas disponibles.

  • Cómo obtener y establecer atributos de temas.

El escenario

En este ejemplo va a utilizar una serie de módulos de Node.js para crear, enumerar y eliminar temas de Amazon SNS y para gestionar atributos de los temas. 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:

Creación de un tema

En este ejemplo, utilice un módulo de Node.js para crear un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_createtopic.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto para transferir el Name del nuevo tema al método createTopic de la clase de cliente AWS.SNS. Para llamar acreateTopic, 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. Los data que la promesa devuelve contienen el ARN del tema.

// 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 createTopicPromise = new AWS.SNS({apiVersion: '2010-03-31'}).createTopic({Name: "TOPIC_NAME"}).promise(); // Handle promise's fulfilled/rejected states createTopicPromise.then( function(data) { console.log("Topic ARN is " + data.TopicArn); }).catch( function(err) { console.error(err, err.stack); });

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

node sns_createtopic.js

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

Enumeración de los temas de

En este ejemplo, utilice un módulo de Node.js para generar una lista de todos los temas de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_listtopics.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto vacío para transferirlo al método listTopics de la clase de cliente AWS.SNS. Para llamar alistTopics, 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. Los data que la promesa devuelve contienen una matriz de ARN de su tema.

// 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 listTopicsPromise = new AWS.SNS({apiVersion: '2010-03-31'}).listTopics({}).promise(); // Handle promise's fulfilled/rejected states listTopicsPromise.then( function(data) { console.log(data.Topics); }).catch( function(err) { console.error(err, err.stack); });

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

node sns_listtopics.js

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

Eliminación de un tema

En este ejemplo, utilice un módulo de Node.js para eliminar un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_deletetopic.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga el TopicArn del tema que se va a eliminar para transferirlo al método deleteTopic de la clase de cliente AWS.SNS. Para llamar adeleteTopic, 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 deleteTopicPromise = new AWS.SNS({apiVersion: '2010-03-31'}).deleteTopic({TopicArn: 'TOPIC_ARN'}).promise(); // Handle promise's fulfilled/rejected states deleteTopicPromise.then( function(data) { console.log("Topic Deleted"); }).catch( function(err) { console.error(err, err.stack); });

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

node sns_deletetopic.js

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

Obtención de atributos de temas

En este ejemplo, utilice un módulo de Node.js para recuperar atributos de un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_gettopicattributes.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga el TopicArn de un tema que se vaya a eliminar para transferirlo al método getTopicAttributes de la clase de cliente AWS.SNS. Para llamar agetTopicAttributes, 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 getTopicAttribsPromise = new AWS.SNS({apiVersion: '2010-03-31'}).getTopicAttributes({TopicArn: 'TOPIC_ARN'}).promise(); // Handle promise's fulfilled/rejected states getTopicAttribsPromise.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_gettopicattributes.js

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

Configuración de los atributos de un tema

En este ejemplo, utilice un módulo de Node.js para establecer los atributos mutables de un tema de Amazon SNS. Cree un módulo de Node.js con el nombre de archivo sns_settopicattributes.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto que contenga los parámetros para realizar la actualización del atributo, como el TopicArn del tema cuyos atributos desea establecer, el nombre del atributo que se va a establecer y el nuevo valor para dicho atributo. Solo puede establecer los atributos Policy, DisplayName y DeliveryPolicy. Transfiera los parámetros al método setTopicAttributes de la clase de cliente AWS.SNS. Para llamar asetTopicAttributes, 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 setTopicAttributes parameters var params = { AttributeName: 'ATTRIBUTE_NAME', /* required */ TopicArn: 'TOPIC_ARN', /* required */ AttributeValue: 'NEW_ATTRIBUTE_VALUE' }; // Create promise and SNS service object var setTopicAttribsPromise = new AWS.SNS({apiVersion: '2010-03-31'}).setTopicAttributes(params).promise(); // Handle promise's fulfilled/rejected states setTopicAttribsPromise.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_settopicattributes.js

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