abadmoab / azure-queue-laravel
Microsoft Azure Storage Queue 的 Laravel 队列驱动程序
Requires
- php: ^7.2.5|^8.0
- guzzlehttp/guzzle: ^6.5.5
- illuminate/queue: ^8.0
- microsoft/azure-storage-queue: ~1.3.0
Requires (Dev)
- ext-json: *
- mockery/mockery: ~1.0
- orchestra/testbench: ^6.0
- php-coveralls/php-coveralls: ~2.0
- phpunit/phpunit: ^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-08 14:18:16 UTC
README
PHP Laravel Queue Driver 包,支持 Microsoft Azure Storage Queues
先决条件
- Laravel 5.2 - 8.x(未在先前版本上测试)
- PHP 5.6+ 用于 Laravel 5.2+
- PHP 7+ 用于 Laravel 5.5+
- PHP 7.1+ 用于 Laravel 5.6+
- PHP 7.2+ 用于 Laravel 6+
- PHP 7.3+ 用于 Laravel 8+
- Microsoft Azure 存储帐户和存储帐户密钥
- 通过 Azure Portal 或通过 Azure CLI 或 PowerShell 创建的队列容器
安装
使用 composer 安装
您可以在 Packagist 上找到此库。
Laravel 8 重要提示
Laravel 8 已迁移到 Guzzle 7.x,但此包的上游依赖 microsoft/azure-storage-queue
仍然使用 Guzzle 6。这会导致 composer
在依赖解析期间失败。
到目前为止的测试尚未发现 Guzzle 6 和 7 之间有影响性的破坏性更改,因此在等待上游包更新期间,您可以通过添加/更新您的根 composer.json
文件以使用 guzzlehttp/guzzle
的内联别名来解决此问题
"guzzlehttp/guzzle": "7.0.1 as 6.5.5"
或者运行以下命令
composer require guzzlehttp/guzzle:"7.0.1 as 6.5.5"
安装
在 composer.json
中要求此包。版本号将遵循 Laravel。
composer require abadmoab/azure-queue-laravel
更新 Composer 依赖关系
composer update
配置
添加提供者
如果您不使用 Laravel 自动包发现,请将 ServiceProvider 添加到您的 config/app.php
文件中的 providers
数组
'Squigg\AzureQueueLaravel\AzureQueueServiceProvider',
对于 Lumen(5.x),您需要将提供者添加到 bootstrap/app.php
$app->register(Squigg\AzureQueueLaravel\AzureQueueServiceProvider::class);
添加 Azure 队列配置
将以下内容添加到 config/queue.php
文件中的 connections
数组,并填写从 Azure 管理门户获取的自己的连接数据
'azure' => [
'driver' => 'azure', // Leave this as-is
'protocol' => 'https', // https or http
'accountname' => env('AZURE_QUEUE_STORAGE_NAME'), // Azure storage account name
'key' => env('AZURE_QUEUE_KEY'), // Access key for storage account
'queue' => env('AZURE_QUEUE_NAME'), // Queue container name
'timeout' => 60, // Seconds before a job is released back to the queue
'endpoint' => env('AZURE_QUEUE_ENDPOINTSUFFIX'), // Optional endpoint suffix if different from core.windows.net
],
将环境变量添加到您的 .env
文件中以设置上述配置参数
AZURE_QUEUE_STORAGE_NAME=xxx
AZURE_QUEUE_KEY=xxx
AZURE_QUEUE_NAME=xxx
AZURE_QUEUE_ENDPOINTSUFFIX=xxx
设置默认 Laravel 队列
通过将 QUEUE_CONNECTION
的值在您的 .env
文件中设置为 azure
来更新 Laravel 使用的默认队列。
QUEUE_CONNECTION=azure
此设置在 Laravel 旧版本中为 QUEUE_DRIVER
。
使用
根据 文档 使用正常的 Laravel 队列功能。
请记住,通过在您的 .env
文件中将 QUEUE_DRIVER
的值设置为 azure
来更新默认队列。
变更日志
2020-09-19 - V8.0 - 支持 Laravel 8.x(仅 composer 依赖项和测试重构)
2020-06-04 - V7.0 - 支持 Laravel 7.x(仅 composer 依赖项和测试重构)
2020-06-04 - V6.0 - 支持 Laravel 6.x(仅 composer 依赖项更改)
2019-07-13 - V5.8 - 支持 Laravel 5.8(仅 composer 依赖项和测试更改)
2019-07-13 - V5.7.1 - 修复对基本 Laravel 队列方法的调用上的无效签名
2018-09-04 - V5.7 - 支持 Laravel 5.7(仅 composer 依赖项更改)
2018-02-07 - V5.6 - 切换到 Microsoft Azure Storage PHP API 的 GA 版本。支持 Laravel 5.6(仅 composer.json 更改)。将开发依赖项更新到最新版本。
2017-09-11 - V5.5 - 仅支持 Laravel 5.5 和 PHP7+。更新 Azure Storage API 到 0.18
2017-09-11 - V5.4 - 更新 Azure Storage API 到 0.15(没有破坏性更改)
许可证
遵循MIT许可证发布。基于Alex Bouma的Laravel 4包,已更新适用于Laravel 5。