为服务总线部署到 Azure

Deployment to Azure for a Service Bus

我正在使用 ARM 模板部署到 Azure。然而,Azure 服务总线部署部分被证明是困难的。

谁能告诉我如何配置与经典门户中相同的设置,例如: 重复检测历史时间 锁定时间 最大队列大小 最大交货数量 默认消息生存时间

或者,有没有一种方法可以在 Powershell 中执行此操作并改为从 ARM 脚本调用它?

目前无法直接使用 ARM 模板设置这些属性。您需要使用 ServiceBus Powershell 脚本配置这些。
这是 link 示例 PS 脚本
https://code.msdn.microsoft.com/Service-Bus-PowerShell-a46b7059/sourcecode?fileId=134510&pathId=2004509049

事实上你可以。 问题是 ServiceBus ARM 模板没有很好的文档记录(目前)。

完整模板可用 here

有趣的部分:

"properties": {
    "path": "[parameters('serviceBusQueueName')]",
    "maxSizeInMegabytes": "2048", 
    "defaultMessageTimeToLive": "7.00:00:00",
    "lockDuration": "00:01:00",
    "enableDuplicateDetection": "true",
    "duplicateDetectionHistoryTimeWindow": "00:15:00",
    "enablePartitioning": "true",
    "maxDeliveryCount": "5"        
}

此处defaultMessageTimeToLivelockDurationduplicateDetectionHistoryTimeWindowTimespan

当你不知道 属性 的名字时我的提示:

  • 查找 MDSN 文档 (C#) 以创建队列或主题或订阅(即:QueueDescription
  • 查看 class 的属性,将相同的 属性 与 camelCase 放在模板中。

大多数情况下,它都能奏效!