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

使用Bicep定义混合连接遇BCP036错误:找不到指定命名空间资源文档

解决Bicep中混合连接资源的BCP036错误问题

问题原因

BCP036错误触发的核心原因是:Bicep语法要求relays资源的父资源必须是明确的hybridConnectionNamespaces实例,但实际上在Azure的资源模型中,hybridConnectionNamespaces并非独立可部署的资源类型——它是App Service下混合连接的逻辑容器,由Azure在创建第一个混合连接时自动生成,无需手动定义。

解决方案

放弃单独引用hybridConnectionNamespaces的尝试,直接通过完整资源名称层级定义relays资源,并将父资源指向对应的App Service实例即可。

示例代码

// 先定义目标App Service资源
resource appService 'Microsoft.Web/sites@2022-09-01' = {
  name: 'your-app-service-name'
  location: resourceGroup().location
  properties: {
    serverFarmId: '<你的App Service Plan资源ID>'
    // 其他App Service配置项
  }
}

// 定义混合连接(relays资源),无需单独创建hybridConnectionNamespaces
resource hybridConnection 'Microsoft.Web/sites/hybridConnectionNamespaces/relays@2022-09-01' = {
  name: 'default/${your-hybrid-connection-name}'
  parent: appService // 父资源直接关联App Service
  location: resourceGroup().location
  properties: {
    serviceBusNamespace: '<你的Service Bus命名空间>'
    serviceBusRelayName: '<你的Service Bus中继名称>'
    serviceBusRelayArmId: '<你的Service Bus中继ARM ID>'
    hostname: '<本地服务主机名>'
    port: <本地服务端口>
    sendKeyName: 'RootManageSharedAccessKey'
    sendKeyValue: '<你的SAS密钥>'
  }
}

关键说明

  • name字段格式为default/[混合连接名称]:default是Azure自动分配的hybridConnectionNamespaces固定名称,无需手动创建或配置。
  • 直接将parent指向已定义的App Service资源,跳过不存在的hybridConnectionNamespaces资源引用。
  • 确保Service Bus相关参数(命名空间、中继名称、ARM ID等)与Azure中已创建的资源一致,这些需要提前在Azure门户或通过其他方式部署完成。

批量创建提示

如果需要部署多个混合连接,只需复制上述relays资源块,修改名称和对应的配置参数即可,所有混合连接会自动归属于同一个default命名空间下。

内容的提问来源于stack exchange,提问作者Jeroen Heier

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:27:09