bicep 模板将 azure 应用程序注入 vnet

问题描述 投票:0回答:1

我正在尝试使用二头肌管理我的 Azure 资源。我当前部署的资源组还有一些外部管理的资源,包括 vnet(外部管理,因此在我的二头肌模板中将其标记为 es

existing
)。

我需要使用 bicep 部署的 azure Function 应用程序,以便为出站流量注入现有的 vnet(外部管理)。我知道当您创建函数应用程序时如何在 Azure UI 中执行此操作:您需要将“启用网络注入”选择为“打开”,然后从下拉列表中选择您的子网。然后它在 UI 中看起来就像这样

这是预期的结果。但我的二头肌做不到。尝试了以下方法:

选项 1:

resource azFunction 'Microsoft.Web/sites@2023-01-01' = {
  name: name
  .....
  properties: {
    enabled: true
    serverFarmId: appServicePlan.id
    reserved: true
    publicNetworkAccess: 'Disabled'
    virtualNetworkSubnetId: vNet.id

选项2:

resource azFunction 'Microsoft.Web/sites@2023-01-01' = {
  name: name
  .....
  properties: {
    enabled: true
    serverFarmId: appServicePlan.id
    reserved: true
    publicNetworkAccess: 'Disabled'
    virtualNetworkSubnetId: vNet.properties.subnets[0].id

(因此尝试 vnet 本身和该 vnet 的唯一子网)

选项 3:

resource azFunctionVnetConnection 'Microsoft.Web/sites/virtualNetworkConnections@2023-01-01' = {
  parent: azFunction
  name: 'vnetconnection'
  properties: {
    vnetResourceId: vNet.id
    isSwift: false
  }
}

选项 4:

resource azFunctionVnetConnection 'Microsoft.Web/sites/virtualNetworkConnections@2023-01-01' = {
  parent: azFunction
  name: 'vnetconnection'
  properties: {
    vnetResourceId: vNet.properties.subnets[0].id
    isSwift: false
  }
}

还有 vnet 及其唯一的子网。还是看到这样的东西:

所以问题是:如何在二头肌中进行虚拟网络集成,因为它是从 UI 完成的?

azure-functions azure-virtual-network azure-bicep infrastructure-as-code
1个回答
0
投票

afaik,这应该可以解决问题:

param functionVNetID string = '/subscriptions/subXX/resourceGroups/rgXX/providers/Microsoft.Network/virtualNetworks/vnetXX/subnets/subnetXX'

resource functionAppName_virtualNetwork 
    'Microsoft.Web/sites/networkConfig@2022-09-01' = {
    parent: functionApp
    name: 'virtualNetwork'
    properties: {
    subnetResourceId: functionVNetID
    }
    }
© www.soinside.com 2019 - 2024. All rights reserved.