Activer la mise en file d’attente de lettres mortes à l’expiration du message pour les files d’attente et les abonnements Azure Service Bus
Les files d’attente et les abonnements aux rubriques Azure Service Bus fournissent une sous-file d’attente secondaire, appelée file d’attente de lettres mortes. La file d’attente de lettres mortes n’a pas besoin d’être explicitement créée et ne peut pas être supprimée ni gérée indépendamment de l’entité principale. L’objectif de la file d’attente de lettres mortes est de conserver les messages qui ne peuvent pas être remis aux destinataires ou les messages qui n’ont pas pu être traités. Pour en savoir plus, consultez Vue d’ensemble des files d’attente de lettres mortes Service Bus. Cet article vous montre différentes façons d’activer la mise en file d’attente de lettres mortes pour les files d’attente et les abonnements de Service Bus.
En passant par le portail Azure
Lors de la création d’une file d’attente ou d’un abonnement à une rubrique dans le portail Azure, sélectionnez Activer la mise en file d’attente de lettres mortes à l’expiration du message comme indiqué dans les exemples suivants.
Créer une file d’attente avec mise en file d’attente de lettres mortes
Créer un abonnement avec mise en file d’attente de lettres mortes
Mettre à jour le paramètre de mise en file d’attente de lettres mortes à l’expiration du message pour une file d’attente existante
Dans la page Vue d’ensemble de la file d’attente Service Bus, sélectionnez la valeur actuelle pour le paramètre de mise en file d’attente de lettres mortes à l’expiration du message. Dans l’exemple suivant, la valeur actuelle est Désactivé. Vous pouvez activer ou désactiver la mise en file d’attente de lettres mortes à l’expiration du message dans la fenêtre contextuelle.
Mettre à jour le paramètre de mise en file d’attente de lettres mortes à l’expiration du message pour un abonnement existant
Dans la page Vue d’ensemble de l’abonnement Service Bus, sélectionnez la valeur actuelle pour le paramètre de mise en file d’attente de lettres mortes à l’expiration du message. Dans l’exemple suivant, la valeur actuelle est Désactivé. Vous pouvez activer ou désactiver la mise en file d’attente de lettres mortes à l’expiration du message dans la fenêtre contextuelle.
Utilisation de l’interface de ligne de commande Azure
Pour créer une file d’attente avec mise en file d’attente de lettres mortes à l’expiration du message, utilisez la commande az servicebus queue create
avec --enable-dead-lettering-on-message-expiration
défini sur true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Pour activer le paramètre de mise en file d’attente de lettres mortes à l’expiration du message dans une file d’attente existante, utilisez la commande az servicebus queue update
avec --enable-dead-lettering-on-message-expiration
défini sur true
.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Pour créer un abonnement à une rubrique avec mise en file d’attente de lettres mortes à l’expiration du message, utilisez la commande az servicebus topic subscription create
avec --enable-dead-lettering-on-message-expiration
défini sur true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Pour activer le paramètre de mise en file d’attente de lettres mortes à l’expiration du message dans un abonnement à une rubrique, utilisez la commande az servicebus topic subscription update
avec --enable-dead-lettering-on-message-expiration
défini sur true
.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Remarque
Si vous spécifiez une file d’attente ou une rubrique à l’aide du paramètre --forward-dead-lettered-messages-to
, Service Bus transfère automatiquement les messages en lettres mortes vers cette file d’attente ou cette rubrique. Voici un exemple : az servicebus queue create --resource-group mysbusrg --namespace-name mysbusns --name myqueue --enable-dead-lettering-on-message-expiration true --forward-dead-lettered-messages-to myqueue2
.
Utilisation de Microsoft Azure PowerShell
Pour créer une file d’attente avec mise en file d’attente de lettres mortes à l’expiration du message, utilisez la commande New-AzServiceBusQueue
avec -DeadLetteringOnMessageExpiration
défini sur $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-DeadLetteringOnMessageExpiration $True
Pour activer le paramètre de mise en file d’attente de lettres mortes à l’expiration du message dans une file d’attente existante, utilisez la commande Set-AzServiceBusQueue
comme indiqué dans l’exemple suivant.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Pour créer un abonnement à une rubrique avec mise en file d’attente de lettres mortes à l’expiration du message, utilisez la commande New-AzServiceBusSubscription
avec -DeadLetteringOnMessageExpiration
défini sur $True
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-DeadLetteringOnMessageExpiration $True
Pour activer le paramètre de mise en file d’attente de lettres mortes à l’expiration du message dans un abonnement existant, consultez l’exemple suivant.
$subscription=Get-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysub
$subscription.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-SubscriptionName mysub `
-SubscriptionObj $subscription
Notes
Si vous spécifiez une file d’attente ou une rubrique à l’aide du paramètre -ForwardDeadLetteredMessagesTo
, Event Grid transfère automatiquement les messages en lettres mortes vers cette file d’attente ou cette rubrique.
Utilisation d’un modèle Azure Resource Manager
Pour créer une file d’attente avec mise en file d’attente de lettres mortes à l’expiration du message, définissez deadLetteringOnMessageExpiration
dans la section Propriétés de la file d’attente sur true
. Pour plus d’informations, consultez la documentation de référence sur les modèles de files d’attente/espaces de noms Microsoft.ServiceBus.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "string",
"metadata": {
"description": "Name of the Queue"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2018-01-01-preview",
"name": "[parameters('serviceBusNamespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"type": "Queues",
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusQueueName')]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"deadLetteringOnMessageExpiration": true
}
}
]
}
]
}
Pour créer un abonnement à une rubrique avec mise en file d’attente de lettres mortes à l’expiration du message, définissez deadLetteringOnMessageExpiration
dans la section Propriétés de la file d’attente sur true
. Pour plus d’informations, consultez Modèle de référence Microsoft.ServiceBus namespaces/topics/subscriptions.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"service_BusNamespace_Name": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusTopicName": {
"type": "string",
"metadata": {
"description": "Name of the Topic"
}
},
"serviceBusSubscriptionName": {
"type": "string",
"metadata": {
"description": "Name of the Subscription"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"apiVersion": "2018-01-01-preview",
"name": "[parameters('service_BusNamespace_Name')]",
"type": "Microsoft.ServiceBus/namespaces",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusTopicName')]",
"type": "topics",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces/', parameters('service_BusNamespace_Name'))]"
],
"properties": {
"maxSizeInMegabytes": 1024
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusSubscriptionName')]",
"type": "Subscriptions",
"dependsOn": [
"[parameters('serviceBusTopicName')]"
],
"properties": {
"deadLetteringOnMessageExpiration": true
}
}
]
}
]
}
]
}
Notes
Si vous spécifiez une file d’attente ou une rubrique pour la propriété forwardDeadLetteredMessagesTo
, Event Grid transfère automatiquement les messages en lettres mortes vers cette file d’attente ou cette rubrique.
Étapes suivantes
Essayez les exemples dans le langage de votre choix pour explorer les fonctionnalités d’Azure Service Bus.
- Exemples de bibliothèque de client Azure Service Bus pour .NET (dernière version)
- Exemples de bibliothèque de client Azure Service Bus pour Java (dernière version)
- Exemples de bibliothèque de client Azure Service Bus pour Python
- Exemples de bibliothèque de client Azure Service Bus pour JavaScript
- Exemples de bibliothèque de client Azure Service Bus pour TypeScript
Rechercher des exemples pour les anciennes bibliothèques clientes .NET et Java :
- Exemples de bibliothèque de client Azure Service Bus pour .NET (version héritée)
- Exemples de bibliothèque de client Azure Service Bus pour Java (version héritée)
Le 30 septembre 2026, nous retirerons les bibliothèques WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus et com.microsoft.azure.servicebus du kit de développement logiciel (SDK) Azure Service Bus, qui ne sont pas conformes aux directives du kit de développement logiciel (SDK) Azure. Nous mettrons également fin à la prise en charge du protocole SBMP. Vous ne pourrez donc plus utiliser ce protocole après le 30 septembre 2026. Migrez vers les dernières bibliothèques du kit de développement logiciel (SDK) Azure, qui offre des correctifs de sécurité critiques et des fonctionnalités améliorées, avant cette date.
Bien que les anciennes bibliothèques puissent toujours être utilisées au-delà du 30 septembre 2026, elles ne seront plus prises en charge officiellement et mises à jour par Microsoft. Pour plus d’informations, consultez l’annonce concernant l’arrêt de la prise en charge.