Megosztás a következőn keresztül:


Ü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

Halott betűjelek engedélyezése az üzenetsor létrehozásakor

Előfizetés létrehozása halott betűvel engedélyezve

Halott betűjelek engedélyezése az előfizetés létrehozásakor

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.

Üzenet lejárati idejének engedélyezése egy meglévő üzenetsorhoz

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.

Üzenet lejárati dátumának engedélyezése meglévő előfizetés esetén

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.

Minták keresése a régebbi .NET- és Java-ügyfélkódtárakhoz:

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.