

 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 Topik di Amazon SNS
<a name="sns-examples-managing-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 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
<a name="sns-examples-managing-topics-scenario"></a>

Dalam contoh ini, Anda menggunakan serangkaian modul Node.js untuk membuat, membuat daftar, dan menghapus topik Amazon SNS, dan untuk menangani atribut topik. 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#createTopic-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#createTopic-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#listTopics-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#listTopics-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#deleteTopic-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#deleteTopic-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#getTopicAttributes-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#getTopicAttributes-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#setTopicAttributes-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#setTopicAttributes-property)

## Tugas Prasyarat
<a name="sns-examples-managing-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)

## Membuat Topik
<a name="sns-examples-managing-topics-createtopic"></a>

Dalam contoh ini, gunakan modul Node.js untuk membuat topik Amazon SNS. Buat modul Node.js dengan nama file`sns_createtopic.js`. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.

Buat objek untuk meneruskan topik baru ke `createTopic` metode kelas `AWS.SNS` klien. `Name` Untuk memanggil `createTopic` metode ini, buat janji untuk memanggil objek layanan Amazon SNS, melewati objek parameter. Kemudian tangani callback `response` in the promise. Yang `data` dikembalikan oleh janji berisi ARN topik.

```
// 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 contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_createtopic.js).

## Daftar Topik Anda
<a name="sns-examples-managing-topics-listtopics"></a>

Dalam contoh ini, gunakan modul Node.js untuk mencantumkan semua topik Amazon SNS. Buat modul Node.js dengan nama file`sns_listtopics.js`. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.

Buat objek kosong untuk diteruskan ke `listTopics` metode kelas `AWS.SNS` klien. Untuk memanggil `listTopics` metode ini, buat janji untuk memanggil objek layanan Amazon SNS, melewati objek parameter. Kemudian tangani callback `response` in the promise. Yang `data` dikembalikan oleh janji berisi berbagai topik Anda ARNs.

```
// 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 contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_listtopics.js).

## Menghapus Topik
<a name="sns-examples-managing-topics-deletetopic"></a>

Dalam contoh ini, gunakan modul Node.js untuk menghapus topik Amazon SNS. Buat modul Node.js dengan nama file`sns_deletetopic.js`. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.

Buat objek yang `TopicArn` berisi topik yang akan dihapus untuk diteruskan ke `deleteTopic` metode kelas `AWS.SNS` klien. Untuk memanggil `deleteTopic` 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 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 contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_deletetopic.js).

## Mendapatkan Atribut Topik
<a name="sns-examples-managing-topicsgetttopicattributes"></a>

Dalam contoh ini, gunakan modul Node.js untuk mengambil atribut topik Amazon SNS. Buat modul Node.js dengan nama file`sns_gettopicattributes.js`. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.

Buat objek yang `TopicArn` berisi topik yang akan dihapus untuk diteruskan ke `getTopicAttributes` metode kelas `AWS.SNS` klien. Untuk memanggil `getTopicAttributes` 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 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 contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_gettopicattributes.js).

## Pengaturan Atribut Topik
<a name="sns-examples-managing-topicsstttopicattributes"></a>

Dalam contoh ini, gunakan modul Node.js untuk menyetel atribut yang dapat berubah dari topik Amazon SNS. Buat modul Node.js dengan nama file`sns_settopicattributes.js`. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.

Buat objek yang berisi parameter untuk pembaruan atribut, termasuk topik yang atributnya ingin Anda tetapkan, nama atribut yang akan ditetapkan, dan nilai baru untuk atribut tersebut. `TopicArn` Anda hanya dapat mengatur`Policy`,`DisplayName`, dan `DeliveryPolicy` atribut. Lewati parameter ke `setTopicAttributes` metode kelas `AWS.SNS` klien. Untuk memanggil `setTopicAttributes` 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 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 contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sns/sns_settopicattributes.js).