Mengelola Langganan di Amazon SNS - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

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

JavaScript code example that applies to Node.js execution

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:

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.