abadmoab/azure-queue-laravel

Microsoft Azure Storage Queue 的 Laravel 队列驱动程序

v8.0.4 2021-09-07 12:28 UTC

README

Latest Stable Version

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 CLIPowerShell 创建的队列容器

安装

使用 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。