如何将AWS开发工具包与SQS服务一起使用自定义标头?

时间:2018-11-28 23:38:20

标签: amazon-web-services amazon-sqs aws-sdk-nodejs

我正在路由器后面使用AWS SDK SQS(带有Nodejs),要通过路由器,我需要在REQUEST中包括一个自定义标头。

我看过这份文档(https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Request.html#build-event),它讨论了REQUEST中的 .on('build')事件:

var req = s3.putObject(params);
req.on('build', function() {
    req.httpRequest.headers['Custom-Header'] = 'value';
});
req.send(function(err, data) { ... });

但是,使用 SQS服务不起作用,没有引发任何错误,并且自定义标头未包含在请求中。

是否可以使用带有 SQS服务的AWS开发工具包的自定义标头? 如何制作这项作品?

1 个答案:

答案 0 :(得分:3)

获得帮助后,我能够使用示例代码下方的自定义标头将消息发送到队列:

var sqs = new aws.SQS({http_wire_trace: true});

var params = {
    MessageBody: 'Hello world!',
    QueueUrl: queueUrl,
    DelaySeconds: 0
};

var req = sqs.sendMessage(params);

req.on('build', () => {
    req.httpRequest.headers['Custom-Header'] = 'bar';
});

req.on('success', (resp) => {
    console.log(resp.request.httpRequest.headers)
    });

req.send();