One of AWS's published message handling patterns suggests using a message ReceiptHandle in order to extend it's visibility timeout, but I've discovered that when consuming messages in an Elastic Beanstalk worker (via aws-sqsd), the ReceiptHandle is not passed as one of the header parameters.
Does anyone have any suggestions on how I can get the ReceiptHandle for a message?
Thanks.
Sadly you can't do this. EB worker does not provide that for you by default. The retrieval and deletion of msgs from SQS is managed by EB sqs daemon, not your application.
This simplifies deployments as you don't have to worry about interacting with SQS, but then limits what you can do.