Üzenet lejárati dátumának engedélyezése az Azure Service Bus-üzenetsorok és -előfizetések esetében
Az Azure Service Bus-üzenetsorok és a témakörökhöz tartozó előfizetések másodlagos allekérdezéseket biztosítanak, úgynevezett holtbetűs üzenetsort (DLQ). A kézbesíthetetlen levelek sorát nem kell külön létrehozni, és nem lehet a fő entitástól elkülönítve törölni vagy kezelni. A kézbesítetlen levelek üzenetsorának célja, hogy olyan üzeneteket tároljon, amelyeket nem lehet kézbesíteni egyetlen fogadónak sem, vagy olyan üzeneteket, amelyeket nem sikerült feldolgozni. További információ: A Service Bus kézbesítetlen levelek üzenetsorainak áttekintése. Ez a cikk a Service Bus-üzenetsorok és -előfizetések holt betűs írásának engedélyezésének különböző módjait mutatja be.
Az Azure Portal használata
Ha üzenetsort vagy előfizetést hoz létre egy témakörhöz az Azure Portalon, válassza a Halott betűk engedélyezése üzenet lejáratkor lehetőséget az alábbi példákban látható módon.
Üzenetsor létrehozása a kézbesítetlen betűkkel engedélyezve
Előfizetés létrehozása halott betűvel engedélyezve
Meglévő üzenetsor üzenet lejárati beállításának frissítése
A Service Bus-üzenetsor Áttekintés lapján válassza ki az üzenet lejárati beállításakor a Holt betű aktuális értékét. Az alábbi példában az aktuális érték le van tiltva. Az előugró ablakban engedélyezheti vagy letilthatja a halott betűket az üzenet lejáratakor.
Meglévő előfizetés üzenet lejárati beállításának frissítése
A Service Bus-előfizetés Áttekintés lapján válassza ki az üzenet lejárati beállításában szereplő Holt betű aktuális értékét. Az alábbi példában az aktuális érték le van tiltva. Az előugró ablakban engedélyezheti vagy letilthatja a halott betűket az üzenet lejáratakor.
Az Azure parancssori felület használata
Ha olyan üzenetsort szeretne létrehozni, amelyben engedélyezve van az üzenet lejárata, használja a az servicebus queue create
következő parancsot --enable-dead-lettering-on-message-expiration
true
:
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Ha egy meglévő üzenetsor üzenet lejárati beállításán szeretné engedélyezni a holt betűzést, használja a az servicebus queue update
következő parancsottrue
--enable-dead-lettering-on-message-expiration
:
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Ha olyan témakörre szeretne előfizetést létrehozni, amelyben engedélyezve van az üzenet lejárati ideje, használja a az servicebus topic subscription create
következő parancsot --enable-dead-lettering-on-message-expiration
true
:
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Ha engedélyezni szeretné a holtbetűsítést egy témakörhöz tartozó előfizetés üzenet lejárati beállításában, használja a következő parancsot--enable-dead-lettering-on-message-expiration
: az servicebus topic subscription update
settrue
.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Feljegyzés
Ha a paraméterrel egy üzenetsort vagy témakört ad meg, a --forward-dead-lettered-messages-to
Service Bus automatikusan továbbítja a kézbesítetlen üzeneteket az adott üzenetsorba vagy témakörbe. Példa: 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
Az Azure PowerShell használata
Ha olyan üzenetsort szeretne létrehozni, amelyben engedélyezve van az üzenet lejárata, használja a New-AzServiceBusQueue
következő parancsot -DeadLetteringOnMessageExpiration
$True
:
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-DeadLetteringOnMessageExpiration $True
Ha engedélyezni szeretné a halott betűket egy meglévő üzenetsor üzenet lejárati beállításán, használja a Set-AzServiceBusQueue
következő példában látható parancsot.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Ha olyan témakörhöz szeretne előfizetést létrehozni, amelyben engedélyezve van az üzenet lejárati ideje, használja a New-AzServiceBusSubscription
következő parancsot -DeadLetteringOnMessageExpiration
$True
:
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-DeadLetteringOnMessageExpiration $True
Ha engedélyezni szeretné a halott betűt egy meglévő előfizetés üzenet lejárati beállításában, tekintse meg az alábbi példát.
$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
Feljegyzés
Ha egy üzenetsort vagy témakört a paraméterrel ad meg, az -ForwardDeadLetteredMessagesTo
Event Grid automatikusan továbbítja a kézbesítetlen üzeneteket az adott üzenetsorba vagy témakörbe.
Az Azure Resource Manager-sablonok használata
Ha olyan üzenetsort szeretne létrehozni, amelyben engedélyezve van az üzenet lejárata, állítsa deadLetteringOnMessageExpiration
be az üzenetsor tulajdonságainak szakaszában a következőt true
: . További információ: Microsoft.ServiceBus-névterek/üzenetsorok sablonreferenciája.
{
"$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
}
}
]
}
]
}
Ha olyan témakörhöz szeretne előfizetést létrehozni, amelyben engedélyezve van az üzenet lejárata, állítsa deadLetteringOnMessageExpiration
be az üzenetsor tulajdonságainak szakaszában a következőt true
: . További információ: Microsoft.ServiceBus-névterek/témakörök/előfizetések sablonreferenciája.
{
"$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
}
}
]
}
]
}
]
}
Feljegyzés
Ha egy üzenetsort vagy témakört ad meg a tulajdonsághoz, az forwardDeadLetteredMessagesTo
Event Grid automatikusan továbbítja a kézbesítetlen üzeneteket az adott üzenetsorba vagy témakörbe.
Következő lépések
Az Azure Service Bus funkcióinak megismeréséhez próbálja ki az Ön által választott nyelven elérhető mintákat.
- Azure Service Bus-ügyfélkódtár-minták a .NET-hez (legújabb)
- Azure Service Bus-ügyfélkódtár-minták Java-hoz (legújabb)
- Azure Service Bus-ügyfélkódtár-minták Pythonhoz
- Azure Service Bus-ügyfélkódtár-minták JavaScripthez
- Azure Service Bus-ügyfélkódtár-minták TypeScripthez
Minták keresése a régebbi .NET- és Java-ügyfélkódtárakhoz:
- Azure Service Bus-ügyfélkódtár-minták .NET-hez (örökölt)
- Azure Service Bus-ügyfélkódtár-minták Java-hoz (örökölt)
2026. szeptember 30-án kivonjuk az Azure Service Bus SDK-kódtárakat a WindowsAzure.ServiceBus, a Microsoft.Azure.ServiceBus és a com.microsoft.azure.servicebus kódtárakból, amelyek nem felelnek meg az Azure SDK irányelveinek. Az SBMP protokoll támogatását is megszüntetjük, így 2026. szeptember 30. után már nem használhatja ezt a protokollt. Migrálás a legújabb Azure SDK-kódtárakba, amelyek kritikus fontosságú biztonsági frissítéseket és továbbfejlesztett képességeket kínálnak ezen dátum előtt.
Bár a régebbi kódtárak 2026. szeptember 30-tól továbbra is használhatók, a Microsoft már nem kap hivatalos támogatást és frissítéseket. További információkért lásd a támogatási nyugdíjazási bejelentést.