La AWS SDK pour JavaScript v2 a atteint la fin du support. Nous vous recommandons de migrer vers la AWS SDK pour JavaScript version 3. Pour plus de détails et d'informations sur la manière de migrer, veuillez consulter cette annonce
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion des sujets dans Amazon SNS
Cet exemple Node.js de code montre :
-
Comment créer des sujets dans Amazon SNS sur lesquels vous pouvez publier des notifications.
-
Comment supprimer des sujets créés dans Amazon SNS.
-
Comment obtenir une liste des rubriques disponibles.
-
Comment obtenir et définir des attributs de rubrique.
Scénario
Dans cet exemple, vous utilisez une série de Node.js modules pour créer, répertorier et supprimer des rubriques Amazon SNS et pour gérer les attributs des rubriques. Les Node.js modules utilisent le SDK pour gérer les sujets JavaScript à l'aide des méthodes suivantes de la classe AWS.SNS client :
Tâches prérequises
Pour configurer et exécuter cet exemple, vous devez d'abord :
-
Installer Node.js. Pour plus d'informations sur l'installation Node.js, consultez le Node.js site Web
. -
Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur le fichier JSON d'informations d'identification, consultez Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé.
Création d'une rubrique
Dans cet exemple, utilisez un Node.js module pour créer une rubrique Amazon SNS. Créez un Node.js module avec le nom de fichiersns_createtopic.js. Configurez le kit SDK comme illustré précédemment.
Créez un objet pour transmettre le paramètreName de la nouvelle rubrique à la méthode createTopic de la classe client AWS.SNS. Pour appeler la createTopic méthode, créez une promesse pour invoquer un objet de service Amazon SNS, en transmettant l'objet de paramètres. Traitez ensuite l'élément response dans le rappel de promesse. Les data renvoyées par la promesse contiennent l'ARN de la rubrique.
// 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); });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node sns_createtopic.js
Cet exemple de code se trouve ici sur GitHub
Liste de vos rubriques
Dans cet exemple, utilisez un Node.js module pour répertorier toutes les rubriques Amazon SNS. Créez un Node.js module avec le nom de fichiersns_listtopics.js. Configurez le kit SDK comme illustré précédemment.
Créez un objet vide à transmettre à la méthode listTopics de la classe client AWS.SNS. Pour appeler la listTopics méthode, créez une promesse pour invoquer un objet de service Amazon SNS, en transmettant l'objet de paramètres. Traitez ensuite l'élément response dans le rappel de promesse. Les data renvoyées par la promesse contiennent un tableau de vos ARN de rubrique.
// 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); });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node sns_listtopics.js
Cet exemple de code se trouve ici sur GitHub
Suppression d'une rubrique
Dans cet exemple, utilisez un Node.js module pour supprimer une rubrique Amazon SNS. Créez un Node.js module avec le nom de fichiersns_deletetopic.js. Configurez le kit SDK comme illustré précédemment.
Créez un objet contenant le paramètre TopicArn de la rubrique à supprimer pour le transmettre à la méthode deleteTopic de la classe client AWS.SNS. Pour appeler la deleteTopic méthode, créez une promesse pour invoquer un objet de service Amazon SNS, en transmettant l'objet de paramètres. Traitez ensuite l'élément response dans le rappel de promesse.
// 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); });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node sns_deletetopic.js
Cet exemple de code se trouve ici sur GitHub
Récupération d'attributs de rubrique
Dans cet exemple, utilisez un Node.js module pour récupérer les attributs d'une rubrique Amazon SNS. Créez un Node.js module avec le nom de fichiersns_gettopicattributes.js. Configurez le kit SDK comme illustré précédemment.
Créez un objet contenant le paramètre TopicArn d'une rubrique à supprimer pour le transmettre à la méthode getTopicAttributes de la classe client AWS.SNS. Pour appeler la getTopicAttributes méthode, créez une promesse pour invoquer un objet de service Amazon SNS, en transmettant l'objet de paramètres. Traitez ensuite l'élément response dans le rappel de promesse.
// 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); });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node sns_gettopicattributes.js
Cet exemple de code se trouve ici sur GitHub
Définition d'attributs de rubrique
Dans cet exemple, utilisez un Node.js module pour définir les attributs modifiables d'une rubrique Amazon SNS. Créez un Node.js module avec le nom de fichiersns_settopicattributes.js. Configurez le kit SDK comme illustré précédemment.
Créez un objet contenant les paramètres pour la mise à jour de l'attribut, y compris le paramètre TopicArn de la rubrique dont vous souhaitez définir les attributs, le nom de l'attribut à définir et la nouvelle valeur pour cet attribut. Vous ne pouvez définir que les attributs Policy, DisplayName et DeliveryPolicy. Transmettez les paramètres à la méthode setTopicAttributes de la classe client AWS.SNS. Pour appeler la setTopicAttributes méthode, créez une promesse pour invoquer un objet de service Amazon SNS, en transmettant l'objet de paramètres. Traitez ensuite l'élément response dans le rappel de promesse.
// 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); });
Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.
node sns_settopicattributes.js
Cet exemple de code se trouve ici sur GitHub