从转发的aws-sqsd守护程序获取AWS SQS消息接收句柄Elastic Beanstalk请求

时间:2015-12-02 23:39:57

标签: python amazon-web-services amazon-ec2 boto amazon-sqs

任何人都知道如何从aws-sqsd工作守护程序获取消息接收句柄(当请求转发到应用程序时)?基本上,aws-sqsd驱动工作项拾取,然后我想使用boto来潜在地扩展消息可见性(所以我没有将信息本身放在boto中,所以m.receipt_handle没有帮助)。在aws-sqsd请求的标题中,除了receipt_handle ...之外,它几乎提供了所有信息......

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

目前正在尝试确定从aws-sqsd守护程序获取消息接收句柄的最佳方法,然后允许我们在事实之后使用Boto扩展消息可见性超时(这需要收据句柄)。

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

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

包括以下内容会非常有帮助:

  • X-AWS-Sqsd-消息的回执-手柄

目前正在使用:

  • X-AWS-Sqsd-队列

  • X-AWS-Sqsd-MSGID

我怎样才能获得那些重要的信息?

  • 这涉及到我遇到的整体限制,很难获得实例中的实例/环境的元数据(例如' region',这需要使用ec2-metadata工具/ boto。 utils.get_instance_metadata(),拉出放置/可用区域,然后对该区域进行字符串操作...为什么没有提供区域...与' worker_queue_url'相同。 ..必须从消息头本身获取它(头解析)。

0 个答案:

没有答案