首先,需要将消息主体和消息属性打包成一个 JSON 对象。 下面是基本的示例:
const AWS = require('aws-sdk');
const sqs = new AWS.SQS({ region: 'us-east-1' });
const params = {
MessageBody: 'Hello World!',
QueueUrl: 'https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue',
MessageAttributes: {
'Title': {
DataType: 'String',
StringValue: 'Test'
}
}
};
sqs.sendMessage(params, (err, data) => {
if (err) console.log('Error', err);
else console.log('Success', data.MessageId);
});
这个示例创建了一个将消息发送到指定队列的请求,包含一个名为“Title”的字符串值消息属性。
更复杂的数据类型,例如二进制数据或数据类型列表,需要通过正确设置 DataType 和对应的 Value 数据来发送。
发送的消息属性可以在消费者端用于过滤和路由消息,因此正确设置消息属性非常重要。