azure-oss / storage-queue
Azure Storage Queue PHP SDK
Requires
- php: ^8.2
- ext-curl: *
- ext-json: *
- ext-simplexml: *
- azure-oss/storage-common: ^2.0
- guzzlehttp/guzzle: ^7.8
This package is not auto-updated.
Last update: 2026-06-26 01:55:55 UTC
README
Community-driven PHP SDKs for Azure, because Microsoft won't.
In November 2023, Microsoft officially archived their Azure SDK for PHP and stopped maintaining PHP integrations for most Azure services. No migration path, no replacement — just a repository marked read-only.
We picked up where they left off.
Our other packages:
-
azure-oss/storage – Meta package with Blob, Queue + File Share SDKs
-
azure-oss/storage-blob – Azure Blob Storage SDK
-
azure-oss/storage-queue-laravel – Laravel Queue connector
-
azure-oss/storage-blob-flysystem – Flysystem adapter
-
azure-oss/storage-blob-laravel – Laravel filesystem driver
-
azure-oss/storage-blob-symfony – Symfony bridge for the Flysystem adapter
-
azure-oss/storage-file-share – Azure Storage File Share SDK (Under construction)
Features
- Authentication:
- Connection strings (access keys)
- Shared key credentials
- Shared access signatures (SAS) for delegated, time-limited access
- Microsoft Entra ID (token-based authentication) via azure-oss/azure-identity
- Queues:
- Create, delete, and check existence
- Read properties
- Clear messages
- Messages:
- Send messages (with optional visibility timeout and TTL)
- Receive one or multiple messages (with visibility timeout)
- Delete messages
- Update messages (including visibility timeout)
Notes
- SAS generation is not supported yet in this SDK.
Documentation
You can read the documentation here.
Install
composer require azure-oss/storage-queue
Quickstart
<?php use AzureOss\Storage\Queue\QueueServiceClient; $service = QueueServiceClient::fromConnectionString( getenv('AZURE_STORAGE_CONNECTION_STRING') ); $queue = $service->getQueueClient('quickstart'); $queue->createIfNotExists(); $queue->sendMessage('Hello from Azure-OSS'); $message = $queue->receiveMessage(30); if ($message !== null) { echo $message->messageText.PHP_EOL; $queue->deleteMessage($message->messageId, $message->popReceipt); } // Optional cleanup $queue->deleteIfExists();
License
This project is released under the MIT License. See LICENSE for details.