Mengaktifkan deteksi pesan duplikat untuk antrean atau topik Azure Service Bus
Saat Anda mengaktifkan deteksi duplikat untuk antrean atau topik, Azure Service Bus menyimpan riwayat semua pesan yang dikirim ke antrean atau topik untuk jumlah waktu yang dikonfigurasi. Selama interval tersebut, antrean atau topik Anda tidak akan menyimpan pesan duplikat apa pun. Mengaktifkan properti ini menjamin tepat setelah pengiriman selama rentang waktu yang ditentukan pengguna. Untuk informasi selengkapnya, lihat Deteksi duplikat. Artikel ini memperlihatkan kepada Anda berbagai cara untuk mengaktifkan deteksi pesan duplikat untuk antrean atau topik Bus Layanan.
Catatan
- Tingkat dasar Service Bus tidak mendukung deteksi transaksi. Tingkat standar dan premium mendukung deteksi duplikat. Untuk perbedaan antara tingkatan ini, lihat Harga Service Bus.
- Anda tidak dapat mengaktifkan atau menonaktifkan deteksi duplikat setelah antrean atau topik dibuat. Anda hanya dapat melakukannya pada saat membuat antrean atau topik.
Menggunakan portal Azure
Saat membuat antrean dalam portal Microsoft Azure, pilih Aktifkan deteksi duplikat seperti yang ditampilkan pada gambar berikut. Anda dapat mengonfigurasi ukuran rentang waktu deteksi duplikat saat membuat antrean atau topik.
Saat membuat topik di portal Microsoft Azure, pilih Aktifkan deteksi duplikat seperti yang diperlihatkan dalam gambar berikut.
Anda juga dapat mengonfigurasi pengaturan ini untuk antrean atau topik yang ada, jika Anda telah mengaktifkan deteksi duplikat pada saat pembuatan.
Memperbarui ukuran rentang waktu deteksi duplikat untuk antrean atau topik yang sudah ada
Untuk mengubah ukuran rentang waktu deteksi duplikat untuk antrean atau topik yang sudah ada, pada halaman Gambaran Umum, pilih Ubah untuk rentang waktu deteksi duplikat.
Antrean
Topik
Menggunakan Azure CLI
Untuk membuat antrean dengan deteksi duplikat yang aktif, gunakan perintah az servicebus queue create
dengan --enable-duplicate-detection
diatur ke true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
Untuk membuat topik dengan deteksi duplikat yang aktif, gunakan perintah az servicebus topic create
dengan --enable-duplicate-detection
diatur ke true
.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
Contoh di atas juga mengatur ukuran rentang waktu deteksi duplikat dengan menggunakan parameter --duplicate-detection-history-time-window
. Ukuran rentang waktu diatur ke satu hari. Nilai default adalah 10 menit dan nilai maksimum yang diizinkan adalah tujuh hari.
Untuk memperbarui antrean dengan ukuran rentang waktu deteksi baru, gunakan perintah az servicebus queue update
dengan parameter --duplicate-detection-history-time-window
. Dalam contoh ini, ukuran rentang waktu diperbarui menjadi tujuh hari.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
Demikian pula, untuk memperbarui topik dengan ukuran rentang waktu deteksi baru, gunakan perintah az servicebus topic update
dengan parameter --duplicate-detection-history-time-window
. Dalam contoh ini, ukuran rentang waktu diperbarui menjadi tujuh hari.
az servicebus topic update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
Menggunakan Azure PowerShell
Untuk membuat antrean dengan deteksi duplikat yang aktif, gunakan perintah New-AzServiceBusQueue
dengan -RequiresDuplicateDetection
diatur ke $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresDuplicateDetection $True `
-DuplicateDetectionHistoryTimeWindow P1D
Untuk membuat topik dengan deteksi duplikat yang aktif, gunakan perintah New-AzServiceBusTopic
dengan -RequiresDuplicateDetection
diatur ke true
.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-RequiresDuplicateDetection $True
-DuplicateDetectionHistoryTimeWindow P1D
Contoh di atas juga mengatur ukuran rentang waktu deteksi duplikat dengan menggunakan parameter -DuplicateDetectionHistoryTimeWindow
. Ukuran rentang waktu diatur ke satu hari. Nilai default adalah 10 menit dan nilai maksimum yang diizinkan adalah tujuh hari.
Untuk memperbarui antrean dengan ukuran rentang waktu deteksi baru, lihat contoh berikut. Dalam contoh ini, ukuran rentang waktu diperbarui menjadi tujuh hari.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Untuk memperbarui topik dengan ukuran rentang waktu deteksi baru, lihat contoh berikut. Dalam contoh ini, ukuran rentang waktu diperbarui menjadi tujuh hari.
$topic=Get-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic
$topic.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-TopicObj $topic
Menggunakan templat Azure Resource Manager
Untuk membuat antrean dengan deteksi duplikat yang aktif, atur requiresDuplicateDetection
ke true
di bagian properti antrean. Untuk informasi selengkapnya, lihat templat referensi Microsoft.ServiceBus namespaces/queues. Tentukan nilai untuk properti duplicateDetectionHistoryTimeWindow
untuk mengatur ukuran rentang waktu deteksi duplikat. Dalam contoh berikut, ini diatur ke satu hari.
{
"$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"
}
}
]
}
]
}
Untuk membuat topik dengan deteksi duplikat yang aktif, atur requiresDuplicateDetection
ke true
di bagian properti topik. Untuk informasi selengkapnya, lihat templat referensi Microsoft.ServiceBus namespaces/topics.
{
"$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"
}
}
]
}
]
}
Langkah berikutnya
Cobalah sampel dalam bahasa pilihan Anda untuk menjelajahi fitur Azure Service Bus.
- Sampel pustaka klien Azure Service Bus untuk .NET (terbaru)
- Sampel pustaka klien Azure Service Bus untuk Java (terbaru)
- Sampel pustaka klien Azure Service Bus untuk Python
- Sampel pustaka klien Azure Service Bus untuk JavaScript
- Sampel pustaka klien Azure Service Bus untuk TypeScript
Temukan sampel untuk pustaka klien .NET dan Java yang lebih lama di bawah ini:
- Sampel pustaka klien Azure Service Bus untuk .NET (warisan)
- Sampel pustaka klien Azure Service Bus untuk Java (warisan)
Pada 30 September 2026, kami akan menghentikan pustaka Azure Bus Layanan SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus, dan com.microsoft.azure.servicebus, yang tidak sesuai dengan panduan Azure SDK. Kami juga akan mengakhiri dukungan protokol SBMP, sehingga Anda tidak akan lagi dapat menggunakan protokol ini setelah 30 September 2026. Migrasikan ke pustaka Azure SDK terbaru, yang menawarkan pembaruan keamanan penting dan kemampuan yang ditingkatkan, sebelum tanggal tersebut.
Meskipun pustaka lama masih dapat digunakan melebihi 30 September 2026, pustaka tersebut tidak akan lagi menerima dukungan dan pembaruan resmi dari Microsoft. Untuk informasi selengkapnya, lihat pengumuman penghentian dukungan.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk