node.js - 使用 AWS EB Worker 时的自定义 header

标签 node.js amazon-web-services amazon-elastic-beanstalk amazon-sqs

我计划将我的 Nodejs 应用程序部署为 EB 中的 Web 服务器 + 工作线程组合。 Web 服务器会将 json (在请求正文中)插入到 SQS 队列中。然后,Worker 读取队列并执行一些工作。

问题是我的工作人员中也需要 header 。有没有办法为请求设置 header ,以便我可以在工作人员中使用它?

最佳答案

是的,您可以设置 json 正文以及消息属性。我已经验证了这一点。以下是我从 EB 上的 SQS 守护程序收到的 header 日志(我的自定义字段是“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 header 无法包含消息属性。

关于node.js - 使用 AWS EB Worker 时的自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38613836/

相关文章:

node.js - 我们可以将 Node API 转换为 Mulesoft 吗?

node.js - 如何使用 Google Home (DialogFlow) 在 NodeJS 中设置 session 变量

javascript - kafka Node js 客户端压缩问题与 snappy

git - 无法从我的本地 ubuntu 机器推送到 aws ec2

wordpress - 我有 WP multisite、ACM Issued SSL、Load Balancer Setup,如何为用户提供 HTTPS 访问?

amazon-web-services - 有没有办法在 AWS Elastic Beanstalk 中隐藏环境变量?

amazon-web-services - Elastic Beanstalk AWS 中的环境与应用程序

amazon-web-services - AWS EB 环境配置文件应该去哪里?

javascript - 将 Mongoose/Multer 文件上传的工作 Modal/FORM 更改为 MULTIPART/FORM - Modal 保持打开状态

amazon-web-services - AWS Internet Gateway 看不到 VPC