如何使用 AWS SDK 和 SQS 服务包含自定义标头?

Nei*_*ias 4 amazon-sqs amazon-web-services aws-sdk-nodejs

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

我看过这个文档(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) { ... });
Run Code Online (Sandbox Code Playgroud)

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

是否可以使用 AWS SDK 包含自定义标头 SQS 服务的?如何使这项工作?

Nei*_*ias 5

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

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();
Run Code Online (Sandbox Code Playgroud)