Włączanie partycjonowania w usłudze Azure Service Bus w warstwie Podstawowa lub Standardowa
Partycje usługi Service Bus umożliwiają partycjonowanie kolejek i tematów lub jednostek komunikatów w wielu brokerach komunikatów. Partycjonowanie oznacza, że ogólna przepływność partycjonowanej jednostki nie jest już ograniczona przez wydajność pojedynczego brokera komunikatów. Ponadto tymczasowa awaria brokera komunikatów, na przykład podczas uaktualniania, nie renderuje partycjonowanej kolejki ani tematu. Partycjonowane kolejki i tematy mogą zawierać wszystkie zaawansowane funkcje usługi Service Bus, takie jak obsługa transakcji i sesji. Aby uzyskać więcej informacji, zobacz Partycjonowane kolejki i tematy. W tym artykule przedstawiono różne sposoby włączania wykrywania zduplikowanych komunikatów dla kolejki usługi Service Bus lub tematu.
Ważne
- Partycjonowanie jest dostępne podczas tworzenia jednostek dla wszystkich kolejek i tematów w jednostkach SKU w warstwie Podstawowa lub Standardowa .
- Nie można zmienić opcji partycjonowania w żadnej istniejącej kolejce lub temacie. Opcję można ustawić tylko podczas tworzenia kolejki lub tematu.
- W przestrzeni nazw warstwy Standardowa można tworzyć kolejki i tematy usługi Service Bus w rozmiarach 1, 2, 3, 4 lub 5 GB (wartość domyślna to 1 GB). Po włączeniu partycjonowania usługa Service Bus tworzy 16 kopii (16 partycji) jednostki, z których każdy ma określony rozmiar. W związku z tym, jeśli tworzysz kolejkę o rozmiarze 5 GB, z 16 partycjami maksymalny rozmiar kolejki zmieni się (5 * 16) = 80 GB.
Korzystanie z witryny Azure Portal
Podczas tworzenia kolejki w witrynie Azure Portal wybierz pozycję Włącz partycjonowanie , jak pokazano na poniższej ilustracji.
Podczas tworzenia tematu w witrynie Azure Portal wybierz pozycję Włącz partycjonowanie , jak pokazano na poniższej ilustracji.
Interfejs wiersza polecenia platformy Azure
Aby utworzyć kolejkę z włączonym partycjonowaniem, użyj az servicebus queue create
polecenia z ustawioną wartością --enable-partitioning
true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-partitioning true
Aby utworzyć temat z włączonym partycjonowaniem, użyj az servicebus topic create
polecenia z ustawioną wartością --enable-partitioning
true
.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-partitioning true
Korzystanie z programu Azure PowerShell
Aby utworzyć kolejkę z włączonym partycjonowaniem, użyj New-AzServiceBusQueue
polecenia z ustawioną wartością -EnablePartitioning
$True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-EnablePartitioning $True
Aby utworzyć temat z włączonym partycjonowaniem, użyj New-AzServiceBusTopic
polecenia z ustawioną wartością -EnablePartitioning
true
.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-EnablePartitioning $True
Korzystanie z szablonu usługi Azure Resource Manager
Aby utworzyć kolejkę z włączonym partycjonowaniem, ustaw wartość enablePartitioning
na true
wartość w sekcji właściwości kolejki. Aby uzyskać więcej informacji, zobacz Dokumentacja szablonu przestrzeni nazw/kolejek 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": {
"enablePartitioning": true
}
}
]
}
]
}
Aby utworzyć temat z włączonym wykrywaniem duplikatów, ustaw wartość enablePartitioning
na true
w sekcji właściwości tematu. Aby uzyskać więcej informacji, zobacz Microsoft.ServiceBus namespaces/topics template reference (Dokumentacja szablonu przestrzeni nazw/tematów Microsoft.ServiceBus).
{
"$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": {
"enablePartitioning": true
}
}
]
}
]
}
Następne kroki
Wypróbuj przykłady w wybranym języku, aby zapoznać się z funkcjami usługi Azure Service Bus.
- Przykłady biblioteki klienta usługi Azure Service Bus dla platformy .NET (najnowsza wersja)
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka Java (najnowsza wersja)
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka Python
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka JavaScript
- Przykłady biblioteki klienta usługi Azure Service Bus dla języka TypeScript
Znajdź przykłady dla starszych bibliotek klienckich .NET i Java poniżej:
- Przykłady biblioteki klienta usługi Azure Service Bus dla platformy .NET (starsza wersja)
- Przykłady bibliotek klienta usługi Azure Service Bus dla języka Java (starsza wersja)
30 września 2026 r. wycofamy biblioteki zestawu SDK usługi Azure Service Bus WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus i com.microsoft.azure.servicebus, które nie są zgodne z wytycznymi dotyczącymi zestawu Azure SDK. Zakończymy również obsługę protokołu SBMP, więc nie będzie można już używać tego protokołu po 30 września 2026 r. Przeprowadź migrację do najnowszych bibliotek zestawu Azure SDK, które oferują krytyczne aktualizacje zabezpieczeń i ulepszone możliwości przed tą datą.
Mimo że starsze biblioteki mogą być nadal używane poza 30 września 2026 r., nie będą już otrzymywać oficjalnej pomocy technicznej i aktualizacji od firmy Microsoft. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu pomocy technicznej.