使用 AWS EB Worker 时自定义 headers
Custom headers when using AWS EB Worker
我计划将我的 nodejs 应用程序部署为 EB 中的网络服务器 + 工作程序组合。网络服务器会将 json(在请求 body 中)插入到 SQS queue 中。工人然后阅读 queue 并做一些工作。
问题是我的工人也需要 headers。有什么方法可以将 headers 设置为请求,以便我可以在 worker 中使用它?
是的,您可以设置 json body 以及消息属性。我已经验证了这一点。这是我从 EB 上的 SQS 守护程序收到的 headers 的日志(我的自定义字段是 "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
我在获取消息属性时遇到了问题,结果(由 AWS 支持技术人员验证)AWS 实施或其文档中存在错误,因为问题是我使用的是在我的消息属性键名中添加下划线,据说支持但实际上使 HTTP headers 无法包含消息属性。
我计划将我的 nodejs 应用程序部署为 EB 中的网络服务器 + 工作程序组合。网络服务器会将 json(在请求 body 中)插入到 SQS queue 中。工人然后阅读 queue 并做一些工作。
问题是我的工人也需要 headers。有什么方法可以将 headers 设置为请求,以便我可以在 worker 中使用它?
是的,您可以设置 json body 以及消息属性。我已经验证了这一点。这是我从 EB 上的 SQS 守护程序收到的 headers 的日志(我的自定义字段是 "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
我在获取消息属性时遇到了问题,结果(由 AWS 支持技术人员验证)AWS 实施或其文档中存在错误,因为问题是我使用的是在我的消息属性键名中添加下划线,据说支持但实际上使 HTTP headers 无法包含消息属性。