cyt*_*nny 5 php amazon-sqs amazon-web-services amazon-sns laravel-5
我正试图通过SNS从Amazon SES获得电子邮件回复(反弹,投诉和交付).在Amazon SQS控制台上,我看到该消息已经在队列中,因此我确信Amazon上的结构设置是正确的.
然后,按照官方指南使用Laravel 5.5,我建立了一个侦听SQS的队列.我将跳过调度作业的部分跳到队列中,因为这将由SNS完成.在工作处理程序中,为简单起见,我就是var_dump我收到的内容.这个工作看起来像这样:
public function handle($testing_message)
{
var_dump($testing_message);
echo "testing handle!\n";
}
Run Code Online (Sandbox Code Playgroud)
该配置看起来像这样:
'sqs' => [
'driver' => 'sqs', //mainly to show that I am using the correct driver
'key' => env('SQS_KEY', 'your-public-key'),
'secret' => env('SQS_SECRET', 'your-secret-key'),
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
'queue' => env('SQS_QUEUE', 'your-queue-name'),
'region' => env('SQS_REGION', 'us-east-1'),
],
Run Code Online (Sandbox Code Playgroud)
为安全起见,隐藏了实际值.env.然后我跑:
composer require aws/aws-sdk-php ~3.0
php artisan config:cache
php artisan queue:listen
Run Code Online (Sandbox Code Playgroud)
但是,该过程只是坐在那里运行,没有响应,也没有错误消息.
我想问一下:
我不确定您为什么使用队列而不是简单的 https 端点。这消除了很多复杂性并且不需要轮询。
有一个简单的 php 示例显示了需要什么。
最大的问题是,您需要能够在 SNS 开始向您的端点发送 POST 请求之前确认 SNS 订阅。
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |