Mengaktifkan dead-lettering saat kedaluwarsa pesan untuk antrean dan langganan Azure Service Bus
Antrean dan langganan Azure Service Bus untuk topik menyediakan antrean sekunder, yang disebut dead-letter queue (DLQ). Antrean surat mati tidak perlu dibuat secara eksplisit dan tidak dapat dihapus atau dikelola secara independen dari entitas utama. Tujuan dari dead-letter queue adalah untuk menyimpan pesan yang tidak dapat dikirimkan ke penerima, atau pesan yang tidak dapat diproses. Untuk informasi selengkapnya, lihat Ringkasan antrean dead-letter Service Bus. Artikel ini memperlihatkan kepada Anda berbagai cara untuk mengaktifkan dead-lettering untuk antrean dan langganan Service Bus.
Menggunakan portal Azure
Saat membuat antrean atau langganan untuk topik di portal Microsoft Azure, pilih Aktifkan dead-lettering pada kedaluwarsa pesan seperti yang diperlihatkan dalam contoh berikut.
Membuat antrean dengan dead-lettering diaktifkan
Membuat langganan dengan dead-lettering diaktifkan
Memperbarui dead-lettering pada pengaturan kedaluwarsa pesan untuk antrean yang sudah ada
Pada halaman Ringkasan untuk antrean Service Bus Anda, pilih nilai saat ini untuk Dead-lettering pada pengaturan kedaluwarsa pesan. Dalam contoh berikut, nilai saat ini adalah Dinonaktifkan. Anda dapat mengaktifkan atau menonaktifkan dead lettering saat kedaluwarsa pesan di jendela popup.
Memperbarui dead-lettering pada pengaturan kedaluwarsa pesan untuk langganan yang sudah ada
Pada halaman Ringkasan untuk langganan Service Bus Anda, pilih nilai saat ini untuk Dead-lettering pada kedaluwarsa pesan. Dalam contoh berikut, nilai saat ini adalah Dinonaktifkan. Anda dapat mengaktifkan atau menonaktifkan dead lettering saat kedaluwarsa pesan di jendela popup.
Menggunakan Azure CLI
Untuk membuat antrean dengan dead-lettering pada kedaluwarsa pesan diaktifkan, gunakan perintah az servicebus queue create
dengan --enable-dead-lettering-on-message-expiration
diatur ke true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Untuk mengaktifkan dead-lettering pada pengaturan kedaluwarsa pesan untuk antrean yang ada, gunakan perintah az servicebus queue update
dengan --enable-dead-lettering-on-message-expiration
diatur ke true
.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-dead-lettering-on-message-expiration true
Untuk membuat langganan ke topik dengan dead-lettering pada kedaluwarsa pesan diaktifkan, gunakan perintah az servicebus topic subscription create
dengan --enable-dead-lettering-on-message-expiration
diatur ke true
.
az servicebus topic subscription create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Untuk mengaktifkan dead-letter pada pengaturan kedaluwarsa pesan untuk langganan ke sebuah topik, gunakan perintah az servicebus topic subscription update
dengan --enable-dead-lettering-on-message-expiration
diatur ke true
.
az servicebus topic subscription update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysubscription \
--enable-dead-lettering-on-message-expiration true
Catatan
Jika Anda menentukan antrean atau topik dengan menggunakan parameter , Bus Layanan secara otomatis meneruskan pesan surat mati ke antrean atau topik tersebut--forward-dead-lettered-messages-to
. Berikut adalah contohnya: 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
.
Menggunakan Azure PowerShell
Untuk membuat antrean dengan dead-lettering pada kedaluwarsa pesan diaktifkan, gunakan perintah New-AzServiceBusQueue
dengan -DeadLetteringOnMessageExpiration
diatur ke $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-DeadLetteringOnMessageExpiration $True
Untuk mengaktifkan dead-letter pada pengaturan kedaluwarsa pesan untuk antrean yang ada, gunakan perintah Set-AzServiceBusQueue
sebagaimana ditunjukkan pada contoh berikut.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DeadLetteringOnMessageExpiration=$True
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
Untuk membuat langganan untuk topik dengan dead-lettering pada kedaluwarsa pesan diaktifkan, gunakan perintah New-AzServiceBusSubscription
dengan -DeadLetteringOnMessageExpiration
diatur ke $True
.
New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysubscription `
-DeadLetteringOnMessageExpiration $True
Untuk mengaktifkan dead-lettering pada pengaturan kedaluwarsa pesan untuk langganan yang sudah ada, lihat contoh berikut ini.
$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
Catatan
Jika Anda menentukan antrean atau topik dengan menggunakan parameter , Event Grid secara otomatis meneruskan pesan surat mati ke antrean atau topik tersebut -ForwardDeadLetteredMessagesTo
.
Menggunakan templat Azure Resource Manager
Untuk membuat antrean dengan dead-letter pada kedaluwarsa pesan diaktifkan, atur deadLetteringOnMessageExpiration
di bagian properti antrean ke true
. Untuk informasi selengkapnya, lihat templat referensi Microsoft.ServiceBus namespaces/queues.
{
"$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
}
}
]
}
]
}
Untuk membuat langganan untuk sebuah topik dengan dead-lettering pada kedaluwarsa pesan diaktifkan, atur deadLetteringOnMessageExpiration
di bagian properti antrean ke true
. Untuk informasi selengkapnya, lihat referensi templat namespaces/topik/langganan 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"
}
},
"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
}
}
]
}
]
}
]
}
Catatan
Jika Anda menentukan antrean atau topik untuk properti , Event Grid secara otomatis meneruskan pesan surat mati ke antrean atau topik tersebut forwardDeadLetteredMessagesTo
.
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:
- 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.