wouterlagerwerf/laravel-sns-queue-driver

一个添加了对SNS(Simple Notification Service)作为Laravel队列驱动支持的包。非常适合微服务消息传递。

v1.0.5 2024-05-26 11:10 UTC

This package is auto-updated.

Last update: 2024-09-29 21:09:19 UTC


README

Laravel SNS Queue Driver 包扩展了Laravel的队列系统,以支持Amazon SNS(简单通知服务),使其能够无缝集成到微服务消息架构中。

安装

您可以通过Composer安装此包

composer require wout/laravel-sns-queue-driver

配置

安装包后,将以下配置添加到您的 config/queue.php 文件中

'connections' => [
    'sns' => [
        'driver' => 'sns',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
        'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
        'queue' => env('SQS_QUEUE', 'default'),
        'suffix' => env('SQS_SUFFIX'),
        'after_commit' => false,
        'endpoint' => env('AWS_ENDPOINT'),
        'sns_topic_arn' => env('SNS_TOPIC_ARN', 'arn:aws:sns:us-east-1:your-account-id:topic'),
    ],
],

请确保将占位符值替换为您的实际AWS凭证和SNS主题ARN。

AWS配置

对于此包,请确保您已设置一个SNS主题和一个订阅了SNS主题的SQS队列。SNS主题ARN应设置为 sns_topic_arn 配置值。

使用方法

配置完成后,您可以使用SNS队列驱动,就像使用Laravel中的其他队列驱动一样

use Illuminate\Support\Facades\Queue;

Queue::push(function ($job) {
    // Process the job
    $job->delete();
});

测试

您可以使用以下命令运行包测试

composer test

贡献

欢迎贡献!如果您发现了一个错误或想要建议一个新功能,请随时打开一个问题或提交一个pull请求。

许可证

此包是开源软件,许可协议为 MIT许可证