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