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álatával

Ha üzenetsort vagy előfizetésthoz 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

Enable dead lettering at the time of the queue creation

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

Enable dead lettering at the time of the subscription creation

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.

Enable dead-lettering on message expiration for an existing queue

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.

Enable dead-lettering on message expiration for an existing subscription

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-expirationtrue:

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-expirationtrue:

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

Megjegyzés:

Ha egy üzenetsort vagy témakört a paraméterrel ad meg, az --forward-dead-lettered-messages-to Event Grid automatikusan továbbítja a kézbesítetlen üzeneteket az adott üzenetsorba vagy témakörbe. Íme egy 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 

Megjegyzé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
              }
            }
          ]
        }
      ]
    }
  ]
}

Megjegyzé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.

A régebbi .NET- és Java-ügyfélkódtárak mintáit az alábbiakban találja:

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.