AWS SDK untuk JavaScript V2 telah mencapai end-of-support. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola Langganan di Amazon SNS
Contoh kode Node.js ini menunjukkan:
-
Cara membuat daftar semua langganan ke topik Amazon SNS.
-
Cara berlangganan alamat email, titik akhir aplikasi, atau AWS Lambda fungsi ke topik Amazon SNS.
-
Cara berhenti berlangganan dari topik Amazon SNS.
Skenario
Dalam contoh ini, Anda menggunakan serangkaian modul Node.js untuk mempublikasikan pesan notifikasi ke topik Amazon SNS. Modul Node.js menggunakan SDK JavaScript untuk mengelola topik menggunakan metode kelas AWS.SNS klien berikut:
Tugas Prasyarat
Untuk mengatur dan menjalankan contoh ini, Anda harus terlebih dahulu menyelesaikan tugas-tugas ini:
-
Instal Node.js. Untuk informasi selengkapnya tentang menginstal Node.js, lihat situs web Node.js
. -
Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file JSON kredensial, lihat. Memuat Kredensial di Node.js dari File Kredensial Bersama
Daftar Langganan ke Topik
Dalam contoh ini, gunakan modul Node.js untuk mencantumkan semua langganan ke topik Amazon SNS. Buat modul Node.js dengan nama filesns_listsubscriptions.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi TopicArn parameter untuk topik yang langganannya ingin Anda daftarkan. Lewati parameter ke listSubscriptionsByTopic metode kelas AWS.SNS klien. Untuk memanggil listSubscriptionsByTopic metode ini, buat janji untuk memanggil objek layanan Amazon SNS, melewati objek parameter. Kemudian tangani callback response in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_listsubscriptions.js
Kode contoh ini dapat ditemukan di sini GitHub
Berlangganan Alamat Email ke Topik
Dalam contoh ini, gunakan modul Node.js untuk berlangganan alamat email sehingga menerima pesan email SMTP dari topik Amazon SNS. Buat modul Node.js dengan nama filesns_subscribeemail.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi Protocol parameter untuk menentukan email protokol, topik TopicArn untuk berlangganan, dan alamat email sebagai pesanEndpoint. Lewati parameter ke subscribe metode kelas AWS.SNS klien. Anda dapat menggunakan subscribe metode ini untuk berlangganan beberapa titik akhir yang berbeda ke topik Amazon SNS, tergantung pada nilai yang digunakan untuk parameter yang diteruskan, seperti contoh lain dalam topik ini akan ditampilkan.
Untuk memanggil subscribe metode ini, buat janji untuk memanggil objek layanan Amazon SNS, melewati objek parameter. Kemudian tangani callback response in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_subscribeemail.js
Kode contoh ini dapat ditemukan di sini GitHub
Berlangganan Endpoint Aplikasi ke Topik
Dalam contoh ini, gunakan modul Node.js untuk berlangganan titik akhir aplikasi seluler sehingga menerima pemberitahuan dari topik Amazon SNS. Buat modul Node.js dengan nama filesns_subscribeapp.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi Protocol parameter untuk menentukan application protokol, topik TopicArn untuk berlangganan, dan ARN dari titik akhir aplikasi seluler untuk parameter tersebut. Endpoint Lewati parameter ke subscribe metode kelas AWS.SNS klien.
Untuk memanggil subscribe metode ini, buat janji untuk memanggil objek layanan Amazon SNS, melewati objek parameter. Kemudian tangani callback response in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_subscribeapp.js
Kode contoh ini dapat ditemukan di sini GitHub
Berlangganan Fungsi Lambda ke Topik
Dalam contoh ini, gunakan modul Node.js untuk berlangganan suatu AWS Lambda fungsi sehingga menerima pemberitahuan dari topik Amazon SNS. Buat modul Node.js dengan nama filesns_subscribelambda.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi Protocol parameter, tentukan lambda protokol, topik TopicArn untuk berlangganan, dan ARN fungsi AWS Lambda sebagai Endpoint parameter. Lewati parameter ke subscribe metode kelas AWS.SNS klien.
Untuk memanggil subscribe metode ini, buat janji untuk memanggil objek layanan Amazon SNS, melewati objek parameter. Kemudian tangani callback response in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_subscribelambda.js
Kode contoh ini dapat ditemukan di sini GitHub
Berhenti berlangganan dari topik
Dalam contoh ini, gunakan modul Node.js untuk berhenti berlangganan langganan topik Amazon SNS. Buat modul Node.js dengan nama filesns_unsubscribe.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek yang berisi SubscriptionArn parameter, tentukan ARN langganan untuk berhenti berlangganan. Lewati parameter ke unsubscribe metode kelas AWS.SNS klien.
Untuk memanggil unsubscribe metode ini, buat janji untuk memanggil objek layanan Amazon SNS, melewati objek parameter. Kemudian tangani callback response in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node sns_unsubscribe.js
Kode contoh ini dapat ditemukan di sini GitHub