Projects 2026
Laravel Azure Service Bus
A Laravel package to publish and consume messages from Azure Service Bus queues and topics over the REST API. Works as a queue driver, so existing jobs dispatch unchanged.
Azure Service Bus is the message broker most Azure-hosted Laravel applications end up needing, and the official SDK route is heavier than the job usually warrants. This package talks to the REST API directly and presents the result as an ordinary Laravel queue connection.
Using it as a queue driver
Once the connection is configured, nothing about your application code changes. dispatch(), Queue::push() and php artisan queue:work all behave as they do on any other driver, including retries and failed-job tracking.
Using the client directly
For the cases where a job is the wrong abstraction, AzureServiceBusClient sends and receives messages directly, and ServiceBusMessage builds the envelope:
AzureServiceBus::send(
ServiceBusMessage::make(['order_id' => $order->id])
->withLabel('order.placed')
->withMessageId($order->uuid)
->withTimeToLive(3600)
->withScheduledEnqueueTime(now()->addMinutes(15))
);
Scheduled enqueue is the one that earns its keep — deferring a message at the broker rather than holding it in the application removes a whole class of "who owns this delay" question.
Configuration
Authentication takes either a full connection string:
AZURE_SERVICE_BUS_CONNECTION_STRING="Endpoint=sb://your-namespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=your-key="
or the parts separately — AZURE_SERVICE_BUS_NAMESPACE, AZURE_SERVICE_BUS_SAS_KEY_NAME and AZURE_SERVICE_BUS_SAS_KEY — with AZURE_SERVICE_BUS_TIMEOUT, AZURE_SERVICE_BUS_RETRIES and AZURE_SERVICE_BUS_RETRY_DELAY covering the transport behaviour.
Numbers
| Measure | Value |
|---|---|
| Composer package | marmanik/laravel-azure-service-bus |
| Requires | PHP 8.2+ · Laravel 11 or 12 |
| Transport | Service Bus REST API |
| Licence | MIT |