AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola Topik di Amazon SNS
Contoh Node.js kode ini menunjukkan:
-
Cara membuat topik di Amazon SNS tempat Anda dapat mempublikasikan notifikasi.
-
Cara menghapus topik yang dibuat di Amazon SNS.
-
Cara mendapatkan daftar topik yang tersedia.
-
Cara mendapatkan dan mengatur atribut topik.
Skenario
Dalam contoh ini, Anda menggunakan serangkaian Node.js modul untuk membuat, membuat daftar, dan menghapus topik Amazon SNS, dan untuk menangani atribut topik. Node.js Modul menggunakan SDK JavaScript untuk mengelola topik menggunakan metode kelas AWS.SNS klien berikut:
Tugas Prasyarat
Untuk mengatur dan menjalankan contoh ini, Anda harus menyelesaikan tugas ini terlebih dahulu:
-
Instal Node.js. Untuk informasi lebih lanjut tentang menginstal Node.js, lihat situs Node.js web
. -
Buat file konfigurasi bersama dengan kredenSIAL pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file JSON kredensional, lihatMemuat Kredensial di Node.js dari File Kredensial Bersama.
Membuat Topik
Dalam contoh ini, gunakan Node.js modul untuk membuat topik Amazon SNS. Buat Node.js modul dengan nama filesns_createtopic.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek Name untuk meneruskan topik baru ke createTopic metode kelas AWS.SNS klien. Untuk memanggil createTopic metode, buat janji untuk memanggil objek layanan Amazon SNS, meneruskan objek parameter. Kemudian tangani response panggilan balik janji. Yang data dikembalikan oleh janji berisi ARN topik tersebut.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_createtopic.js
Kode sampel ini dapat ditemukan di sini GitHub
Daftar Topik Anda
Dalam contoh ini, gunakan Node.js modul untuk mencantumkan semua topik Amazon SNS. Buat Node.js modul dengan nama filesns_listtopics.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek kosong untuk diteruskan ke listTopics metode kelas AWS.SNS klien. Untuk memanggil listTopics metode, buat janji untuk memanggil objek layanan Amazon SNS, meneruskan objek parameter. Kemudian tangani response panggilan balik janji. Yang data dikembalikan oleh janji berisi array ARN topik Anda.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_listtopics.js
Kode sampel ini dapat ditemukan di sini GitHub
Menghapus Topik
Dalam contoh ini, gunakan Node.js modul untuk menghapus topik Amazon SNS. Buat Node.js modul dengan nama filesns_deletetopic.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi topik TopicArn yang akan dihapus untuk diteruskan ke deleteTopic metode kelas AWS.SNS klien. Untuk memanggil deleteTopic metode, buat janji untuk memanggil objek layanan Amazon SNS, meneruskan objek parameter. Kemudian tangani response panggilan balik janji.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_deletetopic.js
Kode sampel ini dapat ditemukan di sini GitHub
Mendapatkan Atribut Topik
Dalam contoh ini, gunakan Node.js modul untuk mengambil atribut topik Amazon SNS. Buat Node.js modul dengan nama filesns_gettopicattributes.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi topik TopicArn yang akan dihapus untuk diteruskan ke getTopicAttributes metode kelas AWS.SNS klien. Untuk memanggil getTopicAttributes metode, buat janji untuk memanggil objek layanan Amazon SNS, meneruskan objek parameter. Kemudian tangani response panggilan balik janji.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_gettopicattributes.js
Kode sampel ini dapat ditemukan di sini GitHub
Mengatur Atribut Topik
Dalam contoh ini, gunakan Node.js modul untuk mengatur atribut yang dapat diubah dari topik Amazon SNS. Buat Node.js modul dengan nama filesns_settopicattributes.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi parameter untuk pembaruan atribut, termasuk topik TopicArn yang atributnya ingin Anda tetapkan, nama atribut yang akan ditetapkan, dan nilai baru untuk atribut itu. Anda hanya dapat mengatur DeliveryPolicy atribut PolicyDisplayName,, dan. Meneruskan parameter ke setTopicAttributes metode kelas AWS.SNS klien. Untuk memanggil setTopicAttributes metode, buat janji untuk memanggil objek layanan Amazon SNS, meneruskan objek parameter. Kemudian tangani response panggilan balik janji.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_settopicattributes.js
Kode sampel ini dapat ditemukan di sini GitHub