Share via


Ismétlődő üzenetészlelés engedélyezése Azure Service Bus-üzenetsorhoz vagy -témakörhöz

Ha engedélyezi az ismétlődő észlelést egy üzenetsorhoz vagy témakörhöz, az Azure Service Bus konfigurálható ideig megőrzi az üzenetsorba vagy témakörbe küldött összes üzenet előzményeit. Ebben az időszakban az üzenetsor vagy a témakör nem tárol ismétlődő üzeneteket. Ennek a tulajdonságnak az engedélyezése pontosan egyszer garantálja a felhasználó által meghatározott időtartamon keresztül történő kézbesítést. További információ: Duplikált észlelés. Ez a cikk a Service Bus-üzenetsorok vagy -témakörök ismétlődő üzenetészlelésének különböző módjait mutatja be.

Megjegyzés:

  • A Service Bus alapszintje nem támogatja a duplikált észlelést. A standard és prémium szintek az ismétlődések észlelését is támogatják. A szintek közötti különbségekért tekintse meg a Service Bus díjszabását.
  • Az üzenetsor vagy témakör létrehozása után nem engedélyezheti vagy tilthatja le a duplikált észlelést. Ezt csak az üzenetsor vagy a témakör létrehozásakor teheti meg.

Az Azure Portal használatával

Amikor létrehoz egy üzenetsort az Azure Portalon, válassza az Ismétlődő észlelés engedélyezése lehetőséget az alábbi képen látható módon. Az ismétlődő észlelési ablak méretét konfigurálhatja egy üzenetsor vagy témakör létrehozásakor.

Enable duplicate detection at the time of the queue creation

Amikor létrehoz egy témakört az Azure Portalon, válassza az Ismétlődő észlelés engedélyezése lehetőséget az alábbi képen látható módon.

Enable duplicate detection at the time of the topic creation

Ezt a beállítást egy meglévő üzenetsorhoz vagy témakörhöz is konfigurálhatja, ha a létrehozáskor engedélyezte a duplikált észlelést.

Ismétlődő észlelési ablak méretének frissítése meglévő üzenetsorhoz vagy témakörhöz

Ha módosítani szeretné egy meglévő üzenetsor vagy témakör duplikált észlelési ablakának méretét, az Áttekintés lapon válassza a Módosítás duplikált észlelési ablakhoz lehetőséget.

Üzenetsor

Set duplicate detection window size for a queue

Témakör

Set duplicate detection window size for a topic

Az Azure parancssori felület használata

Ha olyan üzenetsort szeretne létrehozni, amelynél engedélyezve van a duplikált észlelés, használja a az servicebus queue create következő parancsot --enable-duplicate-detectiontrue:

az servicebus queue create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --enable-duplicate-detection true \
    --duplicate-detection-history-time-window P1D

Ha olyan témakört szeretne létrehozni, amelynél engedélyezve van a duplikált észlelés, használja a az servicebus topic create következő parancsot --enable-duplicate-detectiontrue:

az servicebus topic create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name mytopic \
    --enable-duplicate-detection true \
    --duplicate-detection-history-time-window P1D

A fenti példák az ismétlődő észlelési ablak méretét is beállítják a --duplicate-detection-history-time-window paraméter használatával. Az ablak mérete egy napra van állítva. Az alapértelmezett érték 10 perc, a megengedett maximális érték pedig hét nap.

Ha új észlelési ablakmérettel szeretne frissíteni egy üzenetsort, használja a az servicebus queue update paraméterrel rendelkező --duplicate-detection-history-time-window parancsot. Ebben a példában az ablak mérete hét napra frissül.

az servicebus queue update \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --duplicate-detection-history-time-window P7D

Hasonlóképpen, ha frissíteni szeretne egy témakört egy új észlelési ablak méretével, használja a az servicebus topic update parancsot a --duplicate-detection-history-time-window paraméterrel. Ebben a példában az ablak mérete hét napra frissül.

az servicebus topic update \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --duplicate-detection-history-time-window P7D

Az Azure PowerShell használata

Ha olyan üzenetsort szeretne létrehozni, amelynél engedélyezve van a duplikált észlelés, használja a New-AzServiceBusQueue következő parancsot -RequiresDuplicateDetection$True:

New-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -RequiresDuplicateDetection $True `
    -DuplicateDetectionHistoryTimeWindow P1D

Ha olyan témakört szeretne létrehozni, amelynél engedélyezve van a duplikált észlelés, használja a New-AzServiceBusTopic következő parancsot -RequiresDuplicateDetectiontrue:

New-AzServiceBusTopic -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name mytopic `
    -RequiresDuplicateDetection $True
    -DuplicateDetectionHistoryTimeWindow P1D

A fenti példák az ismétlődő észlelési ablak méretét is beállítják a -DuplicateDetectionHistoryTimeWindow paraméter használatával. Az ablak mérete egy napra van állítva. Az alapértelmezett érték 10 perc, a megengedett maximális érték pedig hét nap.

Ha új észlelési ablakmérettel szeretne frissíteni egy üzenetsort, tekintse meg az alábbi példát. Ebben a példában az ablak mérete hét napra frissül.

$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue 

$queue.DuplicateDetectionHistoryTimeWindow='P7D'

Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -QueueObj $queue

Ha új észlelési ablakmérettel szeretne frissíteni egy témakört, tekintse meg az alábbi példát. Ebben a példában az ablak mérete hét napra frissül.

$topic=Get-AzServiceBusTopic -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name mytopic

$topic.DuplicateDetectionHistoryTimeWindow='P7D'

Set-AzServiceBusTopic -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -Name mytopic `
    -TopicObj $topic

Az Azure Resource Manager-sablonok használata

Ha engedélyezni szeretné a duplikált észleléssel rendelkező üzenetsor létrehozását, állítsa requiresDuplicateDetectiontrue be az üzenetsor tulajdonságai szakaszban. További információ: Microsoft.ServiceBus-névterek/üzenetsorok sablonreferenciája. Adja meg a tulajdonság értékét a duplicateDetectionHistoryTimeWindow duplikált észlelési ablak méretének beállításához. Az alábbi példában egy napra van beállítva.

{
  "$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": {
            "requiresDuplicateDetection": true,
            "duplicateDetectionHistoryTimeWindow": "P1D"
          }
        }
      ]
    }
  ]
}

Ha olyan témakört szeretne létrehozni, amelyben engedélyezve van a duplikált észlelés, állítsa requiresDuplicateDetectiontrue be a témakör tulajdonságai szakaszt. További információ: Microsoft.ServiceBus-névterek/témakörök 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"
      }
    },
    "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": {
            "requiresDuplicateDetection": true,
            "duplicateDetectionHistoryTimeWindow": "P1D"
          }
        }
      ]
    }
  ]
}

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.