Mengelola Batas Waktu Visibilitas 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.

Mengelola Batas Waktu Visibilitas di Amazon SQS

JavaScript code example that applies to Node.js execution

Contoh kode Node.js ini menunjukkan:

  • Cara menentukan interval waktu di mana pesan yang diterima oleh antrian tidak terlihat.

Skenario

Dalam contoh ini, modul Node.js digunakan untuk mengelola batas waktu visibilitas. Modul Node.js menggunakan SDK for JavaScript untuk mengelola batas waktu visibilitas dengan menggunakan metode kelas klien ini: AWS.SQS

Untuk informasi selengkapnya tentang batas waktu visibilitas Amazon SQS, lihat Batas Waktu Visibilitas di Panduan Pengembang Layanan Antrian Sederhana Amazon.

Tugas Prasyarat

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

Mengubah Batas Waktu Visibilitas

Buat modul Node.js dengan nama filesqs_changingvisibility.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses Amazon Simple Queue Service, buat objek AWS.SQS layanan. Menerima pesan dari antrean.

Setelah menerima pesan dari antrian, buat objek JSON yang berisi parameter yang diperlukan untuk mengatur batas waktu, termasuk URL antrian yang berisi pesan, yang ReceiptHandle dikembalikan saat pesan diterima, dan batas waktu baru dalam hitungan detik. Panggil metode changeMessageVisibility.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region to us-west-2 AWS.config.update({ region: "us-west-2" }); // Create the SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var queueURL = "https://sqs.REGION.amazonaws.com/ACCOUNT-ID/QUEUE-NAME"; var params = { AttributeNames: ["SentTimestamp"], MaxNumberOfMessages: 1, MessageAttributeNames: ["All"], QueueUrl: queueURL, }; sqs.receiveMessage(params, function (err, data) { if (err) { console.log("Receive Error", err); } else { // Make sure we have a message if (data.Messages != null) { var visibilityParams = { QueueUrl: queueURL, ReceiptHandle: data.Messages[0].ReceiptHandle, VisibilityTimeout: 20, // 20 second timeout }; sqs.changeMessageVisibility(visibilityParams, function (err, data) { if (err) { console.log("Delete Error", err); } else { console.log("Timeout Changed", data); } }); } else { console.log("No messages to change"); } } });

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

node sqs_changingvisibility.js

Kode contoh ini dapat ditemukan di sini GitHub.