Python 从转发的AWS sqsd守护进程Elastic Beanstalk请求中获取AWS SQS消息接收句柄

Python 从转发的AWS sqsd守护进程Elastic Beanstalk请求中获取AWS SQS消息接收句柄,python,amazon-web-services,amazon-ec2,boto,amazon-sqs,Python,Amazon Web Services,Amazon Ec2,Boto,Amazon Sqs,有人知道如何从aws sqsd worker守护进程(当请求被转发到应用程序时)获取消息接收句柄吗?基本上,aws sqsd驱动工作项拾取,然后我想使用boto来潜在地扩展消息可见性(因此我在boto中没有消息本身,因此m.receipt\u handle没有帮助)。在aws sqsd请求的标题中,它提供了几乎所有的信息,除了收据句柄 我们正在尝试扩展现有的sqs消息处理解决方案。我们的Elastic Beanstalk环境中的工作实例被设置为使用aws sqsd守护进程来检索/转发消息到我们

有人知道如何从aws sqsd worker守护进程(当请求被转发到应用程序时)获取消息接收句柄吗?基本上,aws sqsd驱动工作项拾取,然后我想使用boto来潜在地扩展消息可见性(因此我在boto中没有消息本身,因此m.receipt\u handle没有帮助)。在aws sqsd请求的标题中,它提供了几乎所有的信息,除了收据句柄


我们正在尝试扩展现有的sqs消息处理解决方案。我们的Elastic Beanstalk环境中的工作实例被设置为使用aws sqsd守护进程来检索/转发消息到我们的应用程序

目前正在尝试确定从aws sqsd守护进程获取消息接收句柄的最佳方法,以便允许我们在事件发生后使用Boto延长消息可见性超时(这需要接收句柄)

目前,aws sqsd在请求头中提供以下信息。。。但遗憾的是,没有提供消息接收句柄……)

标题: 主机:本地主机 X-Aws-Sqsd-Sent-At:2015-12-02T03:46:35Z 用户代理:aws sqsd/2.0 X-Aws-Sqsd-Queue: X-Aws-Sqsd-Path: X-For:127.0.0.1 X-Aws-Sqsd-First-Received-At:2015-12-02T03:46:35Z X-Aws-Sqsd-Msgid: X-Aws-Sqsd-Receive-Count:1 内容类型:application/x-www-form-urlencoded X-Aws-Sqsd-Sender-Id: 内容长度:298 X-Real-Ip:127.0.0.1 包括以下内容将非常有帮助:

  • X-Aws-Sqsd-Message-Receipt-Handle
目前正在使用:

  • X-Aws-Sqsd-Queue

  • X-Aws-Sqsd-Msgid

我怎样才能得到那条重要的信息呢

  • 这涉及到我一直遇到的一个总体限制,即很难在实例(例如“region”)中获取实例/env的元数据,这需要使用ec2元数据工具/boto.utils.get_instance_metadata(),拉出placement/availability zone,然后对区域执行字符串操作…为什么不提供“region”…与“worker\u queue\u url”相同…必须从消息头本身获取该信息(头解析)

有人有什么想法/见解吗? Headers: Host: localhost X-Aws-Sqsd-Sent-At: 2015-12-02T03:46:35Z User-Agent: aws-sqsd/2.0 X-Aws-Sqsd-Queue: X-Aws-Sqsd-Path: X-Forwarded-For: 127.0.0.1 X-Aws-Sqsd-First-Received-At: 2015-12-02T03:46:35Z X-Aws-Sqsd-Msgid: X-Aws-Sqsd-Receive-Count: 1 Content-Type: application/x-www-form-urlencoded X-Aws-Sqsd-Sender-Id: Content-Length: 298 X-Real-Ip: 127.0.0.1