【问题标题】:Custom headers when using AWS EB Worker使用 AWS EB Worker 时的自定义标头
【发布时间】:2016-12-01 12:22:51
【问题描述】:
我计划将我的 nodejs 应用程序部署为 EB 中的 webserver + worker 组合。网络服务器会将一个 json(在请求正文中)插入到 SQS 队列中。 Worker 然后读取队列并做一些工作。
问题是我的工人也需要标题。有什么方法可以为请求设置标头以便我可以在工作人员中使用它?
【问题讨论】:
标签:
node.js
amazon-web-services
amazon-elastic-beanstalk
amazon-sqs
【解决方案1】:
是的,您可以设置 json 正文和消息属性。我已经验证了这一点。这是我从 EB 上的 SQS 守护程序收到的标头日志(我的自定义字段是“abc”和“def”):
2017-09-10 16:19:53,689; INFO ; headers received:
X-Aws-Sqsd-Attr-Abc: 205
X-Aws-Sqsd-Attr-Def: 2017-09-10T16:19:53.537679+00:00
X-Aws-Sqsd-Msgid: bfd25652-9923-4c4c-86f2-9fea9fa2fas
X-Aws-Sqsd-Receive-Count: 1
X-Aws-Sqsd-Path:
X-Aws-Sqsd-Queue: myqueue
Content-Length: 16
User-Agent: aws-sqsd/2.3
X-Aws-Sqsd-First-Received-At: 2017-09-10T16:19:53Z
X-Aws-Sqsd-Sender-Id: AIDAJP6NVOXNJ7HY7QYOM
X-Aws-Sqsd-Sent-At: 2017-09-10T16:19:53Z
Host: localhost
Content-Type: application/json
查看文档:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-tiers.html#worker-daemon
我在获取消息属性时遇到了麻烦,结果证明(由 AWS 支持技术人员验证)AWS 实施或其文档中存在错误,因为问题是我在我的消息属性键名,据说是受支持的,但实际上会使 HTTP 标头无法包含消息属性。