

 AWS SDK untuk JavaScript V2 telah mencapai end-of-support. Kami menyarankan Anda bermigrasi ke [AWS SDK untuk JavaScript v3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/) ini.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengirim dan Menerima Pesan di Amazon SQS
<a name="sqs-examples-send-receive-messages"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/id_id/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Contoh kode Node.js ini menunjukkan:**
+ Cara mengirim pesan dalam antrian.
+ Cara menerima pesan dalam antrian.
+ Cara menghapus pesan dalam antrian.

## Skenario
<a name="sqs-examples-send-receive-messages-scenario"></a>

Dalam contoh ini, serangkaian modul Node.js digunakan untuk mengirim dan menerima pesan. Modul Node.js menggunakan SDK for JavaScript untuk mengirim dan menerima pesan dengan menggunakan metode kelas `AWS.SQS` klien berikut:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessage-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessage-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#deleteMessage-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#deleteMessage-property)

*Untuk informasi selengkapnya tentang pesan Amazon SQS, lihat [Mengirim Pesan ke Antrian Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-send-message.html) [dan Menerima serta Menghapus Pesan dari Antrian Amazon SQS di Panduan Pengembang Layanan Antrian Sederhana Amazon](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-receive-delete-message.html).*

## Tugas Prasyarat
<a name="sqs-examples-send-receive-messages-prerequisites"></a>

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](https://nodejs.org).
+ 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](loading-node-credentials-shared.md)
+ Membuat antrean Amazon SQS. Untuk contoh membuat antrian, lihat[Menggunakan Antrian di Amazon SQS](sqs-examples-using-queues.md).

## Mengirim Pesan ke Antrian
<a name="sqs-examples-send-receive-messages-sending"></a>

Buat modul Node.js dengan nama file`sqs_sendmessage.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 pesan Anda, termasuk URL antrian yang ingin Anda kirimi pesan ini. Dalam contoh ini, pesan memberikan rincian tentang buku pada daftar buku fiksi terlaris termasuk judul, penulis, dan jumlah minggu dalam daftar.

Panggil metode `sendMessage`. Callback mengembalikan ID unik pesan.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create an SQS service object
var sqs = new AWS.SQS({ apiVersion: "2012-11-05" });

var params = {
  // Remove DelaySeconds parameter and value for FIFO queues
  DelaySeconds: 10,
  MessageAttributes: {
    Title: {
      DataType: "String",
      StringValue: "The Whistler",
    },
    Author: {
      DataType: "String",
      StringValue: "John Grisham",
    },
    WeeksOn: {
      DataType: "Number",
      StringValue: "6",
    },
  },
  MessageBody:
    "Information about current NY Times fiction bestseller for week of 12/11/2016.",
  // MessageDeduplicationId: "TheWhistler",  // Required for FIFO queues
  // MessageGroupId: "Group1",  // Required for FIFO queues
  QueueUrl: "SQS_QUEUE_URL",
};

sqs.sendMessage(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.MessageId);
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node sqs_sendmessage.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_sendmessage.js).

## Menerima dan Menghapus Pesan dari Antrian
<a name="sqs-examples-send-receive-messages-receiving"></a>

Buat modul Node.js dengan nama file`sqs_receivemessage.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 pesan Anda, termasuk URL antrian dari mana Anda ingin menerima pesan. Dalam contoh ini, parameter menentukan penerimaan semua atribut pesan, serta penerimaan tidak lebih dari 10 pesan.

Panggil metode `receiveMessage`. Callback mengembalikan array `Message` objek dari mana Anda dapat mengambil `ReceiptHandle` untuk setiap pesan yang Anda gunakan untuk kemudian menghapus pesan itu. Buat objek JSON lain yang berisi parameter yang diperlukan untuk menghapus pesan, yang merupakan URL antrian dan nilainya. `ReceiptHandle` Panggil `deleteMessage` metode untuk menghapus pesan yang Anda terima.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create an SQS service object
var sqs = new AWS.SQS({ apiVersion: "2012-11-05" });

var queueURL = "SQS_QUEUE_URL";

var params = {
  AttributeNames: ["SentTimestamp"],
  MaxNumberOfMessages: 10,
  MessageAttributeNames: ["All"],
  QueueUrl: queueURL,
  VisibilityTimeout: 20,
  WaitTimeSeconds: 0,
};

sqs.receiveMessage(params, function (err, data) {
  if (err) {
    console.log("Receive Error", err);
  } else if (data.Messages) {
    var deleteParams = {
      QueueUrl: queueURL,
      ReceiptHandle: data.Messages[0].ReceiptHandle,
    };
    sqs.deleteMessage(deleteParams, function (err, data) {
      if (err) {
        console.log("Delete Error", err);
      } else {
        console.log("Message Deleted", data);
      }
    });
  }
});
```

Untuk menjalankan contoh, ketik berikut ini di baris perintah.

```
node sqs_receivemessage.js
```

Kode contoh ini dapat ditemukan [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/sqs/sqs_receivemessage.js).