SQSのキュー発行時にいくつか属性を付ける方法

function hogeSQS(callback) {
   var hoge1 = [ 'A', 'B' ];
    var hoge1text = hoge1.join(':');
    var params = {
        MessageBody: "abc",
        QueueUrl: sqsUrl,
        DelaySeconds: delay,
        MessageAttributes: {
            atr1: {
                DataType: 'Number', StringValue: "100"
            },
            atr2: {
                DataType: 'String', StringValue: "2016-06-03T16:00:00.000Z"
            },
            atr3: {
                DataType: 'String', StringValue: hoge1text
            }
        }
    };
    sqs.sendMessage(params, callback);
}

MessageAttributesを指定します。

現在使えるDataTypeは「String」「Number」「Bibary」なので、残念ながら配列を使うことはできません。

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessage-property

使用する上でいくつか制限事項があります。

  • 各メッセージには最大 10 個の属性を指定できます。
  • メッセージ属性名には、A-Z、a-z、0-9、下線(_)、ハイフン(-)、ピリオド(.)を使用できます。
  • 名前の長さは最大 256 文字です。
  • 文字列データ型の場合、値属性のコンテンツにはメッセージ本文と同じ制限(最大 256 文字)があります。

http://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSMessageAttributes.html#SQSMessageAttributesNTV