

 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.

# Mengaktifkan Polling Panjang di Amazon SQS
<a name="sqs-examples-enable-long-polling"></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 mengaktifkan polling panjang untuk antrian yang baru dibuat
+ Cara mengaktifkan polling panjang untuk antrian yang ada
+ Cara mengaktifkan polling panjang setelah menerima pesan

## Skenario
<a name="sqs-examples-enable-long-polling-scenario"></a>

Polling panjang mengurangi jumlah respons kosong dengan mengizinkan Amazon SQS menunggu waktu tertentu agar pesan tersedia dalam antrian sebelum mengirim respons. Selain itu, polling panjang menghilangkan respons kosong palsu dengan menanyakan semua server alih-alih pengambilan sampel server. Untuk mengaktifkan polling panjang, Anda harus menentukan waktu tunggu bukan nol untuk pesan yang diterima. Anda dapat melakukan ini dengan mengatur `ReceiveMessageWaitTimeSeconds` parameter antrian atau dengan mengatur `WaitTimeSeconds` parameter pada pesan saat diterima.

Dalam contoh ini, serangkaian modul Node.js digunakan untuk mengaktifkan polling panjang. Modul Node.js menggunakan SDK JavaScript untuk mengaktifkan polling panjang menggunakan metode kelas `AWS.SQS` klien berikut:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#setQueueAttributes-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#setQueueAttributes-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#createQueue-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#createQueue-property)

Untuk informasi selengkapnya tentang polling panjang Amazon SQS, lihat Polling [Panjang di Panduan Pengembang Layanan Antrian](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html) *Sederhana Amazon*.

## Tugas Prasyarat
<a name="sqs-examples-enable-long-polling-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](https://nodejs.org).
+ Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat. [Memuat Kredensial di Node.js dari File Kredensial Bersama](loading-node-credentials-shared.md)

## Mengaktifkan Polling Panjang Saat Membuat Antrian
<a name="sqs-examples-enable-long-polling-on-queue-creation"></a>

Buat modul Node.js dengan nama file`sqs_longpolling_createqueue.js`. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses Amazon SQS, buat objek `AWS.SQS` layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk membuat antrian, termasuk nilai bukan nol untuk parameter. `ReceiveMessageWaitTimeSeconds` Panggil metode `createQueue`. Polling panjang kemudian diaktifkan untuk antrian.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the SQS service object
var sqs = new AWS.SQS({ apiVersion: "2012-11-05" });

var params = {
  QueueName: "SQS_QUEUE_NAME",
  Attributes: {
    ReceiveMessageWaitTimeSeconds: "20",
  },
};

sqs.createQueue(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.QueueUrl);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node sqs_longpolling_createqueue.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_longpolling_createqueue.js).

## Mengaktifkan Polling Panjang pada Antrian yang Ada
<a name="sqs-examples-enable-long-polling-existing-queue"></a>

Buat modul Node.js dengan nama file`sqs_longpolling_existingqueue.js`. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses Amazon Simple Queue Service, buat objek `AWS.SQS` layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk mengatur atribut antrian, termasuk nilai bukan nol untuk `ReceiveMessageWaitTimeSeconds` parameter dan URL antrian. Panggil metode `setQueueAttributes`. Polling panjang kemudian diaktifkan untuk antrian.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the SQS service object
var sqs = new AWS.SQS({ apiVersion: "2012-11-05" });

var params = {
  Attributes: {
    ReceiveMessageWaitTimeSeconds: "20",
  },
  QueueUrl: "SQS_QUEUE_URL",
};

sqs.setQueueAttributes(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node sqs_longpolling_existingqueue.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_longpolling_existingqueue.js).

## Mengaktifkan Polling Panjang pada Tanda Terima Pesan
<a name="sqs-examples-enable-long-polling-on-receive-message"></a>

Buat modul Node.js dengan nama file`sqs_longpolling_receivemessage.js`. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses Amazon Simple Queue Service, buat objek `AWS.SQS` layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menerima pesan, termasuk nilai bukan nol untuk `WaitTimeSeconds` parameter dan URL antrian. Panggil metode `receiveMessage`.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the SQS service object
var sqs = new AWS.SQS({ apiVersion: "2012-11-05" });

var queueURL = "SQS_QUEUE_URL";

var params = {
  AttributeNames: ["SentTimestamp"],
  MaxNumberOfMessages: 1,
  MessageAttributeNames: ["All"],
  QueueUrl: queueURL,
  WaitTimeSeconds: 20,
};

sqs.receiveMessage(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node sqs_longpolling_receivemessage.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_longpolling_receivemessage.js).