Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirim, menerima, dan menghapus Amazon Simple Queue Service pesan
Pesan adalah sepotong data yang dapat dikirim dan diterima oleh komponen terdistribusi. Pesan selalu dikirimkan menggunakan SQS Queue.
sqsClient
Variabel yang digunakan dalam contoh berikut dapat dibuat dari cuplikan berikut.
SqsClient sqsClient = SqsClient.create();
Bila Anda membuat SqsClient
dengan menggunakan create()
metode statis, SDK akan mengonfigurasi Region menggunakan rantai penyedia wilayah default dan kredensialnya menggunakan rantai penyedia kredensial default.
Kirim pesan
Tambahkan satu pesan ke Amazon Simple Queue Service antrian dengan memanggil sendMessage
metode SqsClient klien. Berikan SendMessageRequest
Impor
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;
Kode
sqsClient.sendMessage(SendMessageRequest.builder() .queueUrl(queueUrl) .messageBody("Hello world!") .delaySeconds(10) .build()); sqsClient.sendMessage(sendMsgRequest);
Kirim beberapa pesan dalam satu permintaan
Kirim lebih dari satu pesan dalam satu permintaan dengan menggunakan SqsClient sendMessageBatch
metode ini. Metode ini mengambil SendMessageBatchRequest
Impor
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;
Kode
SendMessageBatchRequest sendMessageBatchRequest = SendMessageBatchRequest.builder() .queueUrl(queueUrl) .entries(SendMessageBatchRequestEntry.builder().id("id1").messageBody("Hello from msg 1").build(), SendMessageBatchRequestEntry.builder().id("id2").messageBody("msg 2").delaySeconds(10).build()) .build(); sqsClient.sendMessageBatch(sendMessageBatchRequest);
Lihat sampel lengkapnya
Ambil Pesan
Ambil pesan apa pun yang saat ini berada dalam antrian dengan memanggil metode. SqsClient receiveMessage
Metode ini mengambil ReceiveMessageRequest
Impor
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;
Kode
try { ReceiveMessageRequest receiveMessageRequest = ReceiveMessageRequest.builder() .queueUrl(queueUrl) .maxNumberOfMessages(5) .build(); List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).messages(); return messages; } catch (SqsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return null;
Lihat sampel lengkapnya
Hapus pesan setelah diterima
Setelah menerima pesan dan memproses isinya, hapus pesan dari antrian dengan mengirimkan alamat tanda terima pesan dan URL antrian ke metode. SqsClient's
deleteMessage
Impor
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsClient; import software.amazon.awssdk.services.sqs.model.*; import java.util.List;
Kode
try { for (Message message : messages) { DeleteMessageRequest deleteMessageRequest = DeleteMessageRequest.builder() .queueUrl(queueUrl) .receiptHandle(message.receiptHandle()) .build(); sqsClient.deleteMessage(deleteMessageRequest); }
Lihat sampel lengkapnya
Info Selengkapnya
-
Cara Kerja Amazon Simple Queue Service Antrian di Panduan Pengembang Amazon Simple Queue Service
-
SendMessagedi Referensi Amazon Simple Queue Service API
-
SendMessageBatchdi Referensi Amazon Simple Queue Service API
-
ReceiveMessagedi Referensi Amazon Simple Queue Service API
-
DeleteMessagedi Referensi Amazon Simple Queue Service API