You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否将Azure Hybrid Connection中继导出为ARM模板?导出资源组时中继未包含的问题排查

问题:能否将Azure Hybrid Connection中继导出为ARM模板?

首先直接给答案:可以导出,但导出整个资源组时确实容易遗漏Hybrid Connection中继——这是因为Hybrid Connection属于Web App的关联子资源,而不是资源组里的独立顶级资源,默认的资源组导出工具经常会忽略这类嵌套关联的资源。

针对你遇到的模板创建中继损坏的问题,我先看了你提供的ARM模板,发现一个关键错误:

你的模板里type字段写的是hybridConnectionNamespaces/relays,但Web App关联的Hybrid Connection的正确资源类型应该是Microsoft.Web/sites/hybridConnectionNamespaces/relays。这个类型错误大概率就是导致模板创建的中继无法正常工作的原因。

修正后的ARM模板示例

{
  "apiVersion": "2022-03-01",
  "dependsOn": [
    "[resourceId('Microsoft.Web/sites', variables('webAppName'))]"
  ],
  "name": "[concat(variables('webAppName'), '/', parameters('relayName'), '/', parameters('hybridName'))]",
  "location": "[resourceGroup().location]",
  "properties": {
    "relayArmUri": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('relayResourceGroup'), '/providers/Microsoft.Relay/namespaces/', parameters('relayName'), '/hybridConnections/', parameters('hybridName'))]",
    "sendKeyName": "defaultSender",
    "sendKeyValue": "[listkeys(concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('relayResourceGroup'), '/providers/Microsoft.Relay/namespaces/', parameters('relayName'), '/hybridConnections/', parameters('hybridName'), '/authorizationRules/defaultSender'), '2017-04-01').primaryKey]",
    "hostname": "[parameters('hostname')]",
    "port": "[parameters('port')]",
    "serviceBusSuffix": ".servicebus.windows.net"
  },
  "type": "Microsoft.Web/sites/hybridConnectionNamespaces/relays"
}

关键修正点说明

  • 资源类型修正:把type改为Microsoft.Web/sites/hybridConnectionNamespaces/relays,明确这是Web App的子资源
  • 名称格式调整:name字段需要遵循webAppName/relayNamespace/hybridConnectionName的嵌套格式,对应子资源的层级关系
  • API版本更新:建议使用较新的API版本(比如2022-03-01),避免旧版本的兼容性问题
  • 权限键路径确认:确保listkeys的资源ID完整指向Relay命名空间下的Hybrid Connection授权规则

排查问题的实用步骤

  • 先手动创建一个能正常工作的Hybrid Connection,然后在Azure Portal里进入该Web App的“导出模板”页面(而不是资源组的导出),这样能直接得到包含Hybrid Connection关联资源的正确模板
  • 用Azure CLI命令获取手动创建的Hybrid Connection的完整资源定义,作为参考对比:
    az resource show --resource-group <你的WebApp资源组名> --name <WebApp名称>/<Relay命名空间>/<HybridConnection名称> --resource-type Microsoft.Web/sites/hybridConnectionNamespaces/relays
    
  • 对比导出的正确模板和你自己编写的模板,重点检查资源类型、名称格式、属性字段的差异,就能快速定位问题。

内容的提问来源于stack exchange,提问作者Kristoffer Jälén

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 20:34:04