我将AWS Elastic Beanstalk实例配置为Worker Environment。它有一个每x分钟运行一次的cron作业。在Worker Configuration中,我有一个php文件的路径,该文件在cron触发时运行。如果我转到SQS仪表板,我可以手动向该工作人员发送SQS消息以及设置实际消息,例如“hello”。
我的问题是,如何让php文件访问SQS消息的消息属性?
显而易见的答案是使用AWS \ SQSClient,但是阅读邮件的唯一方法是首先获取邮件。这里的问题是Elastic Beanstalk工作者代码已经检索了该消息。那么我现在如何阅读其属性呢?
修改
为了更清楚地说明我所描述的内容,我将详细介绍我的步骤,以便做到这一点。
的Cron:
version: 1
cron:
- name: "Worker"
url: "someJob.php"
schedule: "0 * * * *"
PHP:
psuedo
<?send me an email, update the db, whatever?>
//NOTE: I don't even connect to the AWS file or perform ANY SQS actions for this to work
现在我的问题是,如果我转到自动生成的SQS队列,我可以选择它,转到队列操作,转发消息,然后发送一个实际的消息字符串...例如“Hello”。
我是否可以访问消息消息值“Hello”,即使我的PHP不负责从SQS调用消息?显然,我需要调用AWS lib和相关的SQS命令,但我能做的唯一命令是“receiveMessage”,我假设它会从当前收到的“Hello”消息中提取新消息而不是信息。
请注意,发送“Hello”消息也会调用someJob.php来运行。