

 AWS SDK untuk JavaScript V2 telah mencapai end-of-support. Kami menyarankan Anda bermigrasi ke [AWS SDK untuk JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/) ini.

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
<a name="sns-examples-subscribing-unubscribing-topics"></a>

![JavaScript code example that applies to Node.js execution](http://docs.aws.amazon.com/id_id/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**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
<a name="sns-examples-subscribing-unubscribing-yopics-scenario"></a>

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:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#subscribe-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#subscribe-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#confirmSubscription-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#confirmSubscription-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#listSubscriptionsByTopic-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#listSubscriptionsByTopic-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#unsubscribe-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#unsubscribe-property)

## Tugas Prasyarat
<a name="sns-examples-subscribing-unubscribing-topics-prerequisites"></a>

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](http://nodejs.org).
+ 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](loading-node-credentials-shared.md)

## Daftar Langganan ke Topik
<a name="sns-examples-list-subscriptions-email"></a>

Dalam contoh ini, gunakan modul Node.js untuk mencantumkan semua langganan ke topik Amazon SNS. Buat modul Node.js dengan nama file`sns_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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_listsubscriptions.js).

## Berlangganan Alamat Email ke Topik
<a name="sns-examples-subscribing-email"></a>

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 file`sns_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 pesan`Endpoint`. 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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_subscribeemail.js).

## Berlangganan Endpoint Aplikasi ke Topik
<a name="sns-examples-subscribing-apps"></a>

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 file`sns_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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_subscribeapp.js).

## Berlangganan Fungsi Lambda ke Topik
<a name="sns-examples-subscribing-lambda"></a>

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 file`sns_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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_subscribelambda.js).

## Berhenti berlangganan dari topik
<a name="sns-examples-unsubscribing"></a>

Dalam contoh ini, gunakan modul Node.js untuk berhenti berlangganan langganan topik Amazon SNS. Buat modul Node.js dengan nama file`sns_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](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_unsubscribe.js).