pawprintdigital / laravel-queue-raw-sqs
提供在 Laravel 队列中处理原始 SQS 消息的能力
1.0.6
2019-09-10 11:22 UTC
Requires
- php: >=7.0
- aws/aws-sdk-php: ~3.0
- illuminate/database: >=5.6
- illuminate/queue: >=5.6
- illuminate/support: >=5.6
README
此队列驱动程序将允许您从 Laravel 之外接收的 SQS 队列(例如,从 SNS 订阅)中提取原始 JSON 数据,并将其映射到 Laravel 中的正确作业处理器。
要求
Laravel 5.6+
安装
您可以使用以下命令通过 Composer 安装此包:Composer
composer require pawprintdigital/laravel-queue-raw-sqs
服务提供者
服务提供者应通过 Laravel 5.6 的包发现功能自动注册。
如果不起作用,您可以手动通过将以下行添加到您的 config/app.php 文件中的 providers 数组来注册服务提供者。
PawprintDigital\LaravelQueueRawSqs\LaravelQueueRawSqsServiceProvider::class
配置
要配置此包,请将以下元素添加到 config/queue.php 文件中的 connections 数组。
'rawsqs' => [ 'driver' => 'rawsqs', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'prefix' => env('AWS_SQS_QUEUE_PREFIX'), 'queue' => env('AWS_SQS_QUEUE_NAME'), 'region' => env('AWS_REGION'), 'routes' => [ '*' =>'App\\Jobs\\JobHandler' ] ]
路由
队列中的消息通过其 SNS 主题名称进行映射。您需要修改之前添加到数组的 routes 元素,将 SNS 主题名称映射到作业。
注意:如果您想在主题名称中忽略后缀或前缀,可以使用通配符 (*)。
默认情况下,如果配置文件中没有设置路由,驱动程序将尝试将 TopicName 映射到 App\Jobs 中相同名称的类。例如,一个名为 UserCreated 的 TopicName 将尝试映射到 App\Jobs\UserCreated::class,如果 routes 数组中没有条目。