Download the PHP package aymdev/messenger-azure-bundle without Composer
On this page you can find all versions of the php package aymdev/messenger-azure-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aymdev/messenger-azure-bundle
More information about aymdev/messenger-azure-bundle
Files in aymdev/messenger-azure-bundle
Package messenger-azure-bundle
Short Description Symfony Messenger bundle for Azure Service Bus
License MIT
Informations about the package messenger-azure-bundle
Messenger Azure Service Bus Bundle
A PHP 8.1+ & Symfony 5 / 6 / 7 bundle providing a Symfony Messenger transport for Azure Service Bus using the Azure REST API.
Installation
You only need to install the bundle using Composer:
As it uses Symfony HttpClient, you will need to install a PSR-18 client. Example:
Configuration
Transport DSN
Your DSN must respect the following format to build the authentication header for a specific namespace:
Where
KEY_NAME
is your shared access key name,KEY_VALUE
is your shared access key andNAMESPACE
is your Azure Service Bus namespace. Important note: the keys can contain special characters that could break the URL parsing. Be sure to URL encode them.
Transport options
Detailed list of transport options:
Option name | Description | Required | Default value |
---|---|---|---|
entity_path |
The topic or queue name. | Yes | |
subscription |
The subcription name to consume messages from a topic. | Only for topic consumer transports | |
token_expiry |
SAS token validity duration in seconds. | 3600 |
|
receive_mode |
Set to peek-lock to perform a non destructive read or to receive-and-delete to perform a destructive-read |
peek-lock |
Example config/packages/messenger.yaml
:
Stamps
This transport provides a few stamps:
AzureMessageStamp
The AymDev\MessengerAzureBundle\Messenger\Stamp\AzureMessageStamp
stamp is added to sent and received messages and
contains:
- the topic or queue name
- the original sent/received message
- the subscription name for received messages from topics
- the delete URL for received messages in
peek-lock
receive mode
AzureBrokerPropertiesStamp
The AymDev\MessengerAzureBundle\Messenger\Stamp\AzureBrokerPropertiesStamp
stamp is used for the message properties.
It is automatically decoded when consuming a message and is encoded when producing a message if added to the envelope.
Serialization
Creating your serializers
There is no serializer provided, but here is the expected array structure of an encoded envelope:
body
: your plain text messageheaders
: optional HTTP headers (either received from Azure Service Bus response or to send to the REST API)
Logging decoding errors
When a serializer throws a Symfony\Component\Messenger\Exception\MessageDecodingFailedException
while decoding a message,
it will be converted to a AymDev\MessengerAzureBundle\Messenger\Exception\SerializerDecodingException
which contains an
envelope with an empty message but with the same stamps as a successfully decoded message.
You can then listen to the console.error
Symfony event and get
the topic/queue name where then decoding failure happened, the original message, etc.
All versions of messenger-azure-bundle with dependencies
ext-json Version *
symfony/messenger Version ^5.4|^6.4|^7.0
symfony/http-kernel Version ^5.4|^6.4|^7.0
symfony/dependency-injection Version ^5.4|^6.4|^7.0
symfony/http-client Version ^5.4|^6.4|^7.0