AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman 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
Contoh Node.js kode 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 tanggapan 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 Node.js modul digunakan untuk mengaktifkan polling panjang. Node.js Modul 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 menyelesaikan tugas ini terlebih dahulu:
Instal Node.js. Untuk informasi lebih lanjut tentang menginstal Node.js, lihat situs Node.js web
. Buat file konfigurasi bersama dengan kredenSIAL pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredenSIAL bersama, lihatMemuat Kredensial di Node.js dari File Kredensial Bersama.
Mengaktifkan Polling Panjang Saat Membuat Antrian
Buat Node.js modul 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 ReceiveMessageWaitTimeSeconds parameter. 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 sampel ini dapat ditemukan di sini GitHub
Mengaktifkan Polling Panjang pada Antrian yang Ada
Buat Node.js modul 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 sampel ini dapat ditemukan di sini GitHub
Mengaktifkan Polling Panjang pada Penerimaan Pesan
Buat Node.js modul 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 sampel ini dapat ditemukan di sini GitHub