Kami mengumumkan
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 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:
Instal Node.js. Untuk informasi selengkapnya tentang menginstal Node.js, lihat situs web Node.js
. 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
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