Mengaktifkan Polling Panjang di Amazon SQS - 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.

Mengaktifkan Polling Panjang di Amazon SQS

JavaScript code example that applies to Node.js execution

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

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:

Untuk informasi selengkapnya tentang polling panjang Amazon SQS, lihat Polling Panjang di Panduan Pengembang Layanan Antrian Sederhana Amazon.

Tugas Prasyarat

Untuk mengatur dan menjalankan contoh ini, Anda harus terlebih dahulu menyelesaikan tugas-tugas ini:

Mengaktifkan Polling Panjang Saat Membuat Antrian

Buat modul Node.js dengan nama filesqs_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.

Mengaktifkan Polling Panjang pada Antrian yang Ada

Buat modul Node.js dengan nama filesqs_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.

Mengaktifkan Polling Panjang pada Tanda Terima Pesan

Buat modul Node.js dengan nama filesqs_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.