AWS SDK for Node.jsでSQSメッセージを送受信する

AWS SDK for Node.jsでSQSメッセージを任意のQueueに発行したり、逆にメッセージを受信するにはsendMessagereceiveMessageを使用します。

1. 任意のQueueへメッセージの送信

var AWS = require('aws-sdk');
var userId = "JSON.stringify({"userId": "1"}),";
//メッセージを送りたいQueueのURL
var queueUrl = "hogohoge";
var params = {
               MessageBody: userId,
               QueueUrl: queueUrl,
              };
var sqs = new AWS.SQS();
sqs.sendMessage(params1, function(err, data) {
            if (err) {
                console.log(err, err.stack);
            } else {
                console.log(data);
            }
          });

メッセージを送信するメソッドにはsendMessageのほかにもsendMessageBatchが存在します。
これは、10個以内であればメッセージをまとめて送信できるみたいです。


2. 任意のQueueからメッセージを受信

var AWS = require('aws-sdk');
var sqs = new AWS.SQS();

    const params = {
        QueueUrl: QUEUE_URL,
        MaxNumberOfMessages: 10,
        VisibilityTimeout: 10
    };
    SQS.receiveMessage(params, (err, data) => {
        if (err) return callback(err);
        const promises = data.Messages.map((message) => {
            console.log(message);
        });
    });