azure 使用ARM模板的vNet应用程序服务集成

cwdobuhd  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(101)

我试图使用下面的逻辑在Azure应用程序服务中添加一个子网,但它不工作,如果条件工作正常,但resourceId i snnot形成子网的正确ID,并且没有连接子网可以有人帮助我解决这个问题,我在Azure中有大约10个应用程序服务,其中一些需要添加子网,以便使用if条件和如果应用程序服务名称匹配appapi,则需要添加子网称为subpceus2report,请给予我建议

"virtualNetworkSubnetId": "[if(contains(variables('appCopyArray')[copyIndex('appCopy')], 'appapi'), resourceId('rgppceus2', 'Microsoft.Network/virtualNetworks/subnets','vntpceus2', 'subpceus2report'), '')]"

需要向应用服务添加子网

7uhlpewt

7uhlpewt1#

  • 您为virtualNetworkSubnetId给出的表达式中似乎有语法错误。这是一个改进的版本,以避免错误。
"virtualNetworkSubnetId": "[if(contains(variables('appCopyArray')[copyIndex('appCopy')], 'appapi'), resourceId('Microsoft.Network/virtualNetworks/subnets', 'vntpceus2', 'subpceus2report'), '')]"

*rgppceus2不需要指定子网资源ID。应该使用resourceId函数以'Microsoft.Network/virtualNetworks/subnets'构造资源ID。

在这里我已经尝试了我的方式根据您的要求检查下面的代码:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "appName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Azure App Service."
      }
    }
  },
  "variables": {
    "subnetId": "[if(contains(parameters('appName'), 'appapi'), resourceId('Microsoft.Network/virtualNetworks/subnets', 'vnetIntegration', 'mysub01'), json('null'))]"
  },
  "resources": [
    {
      "name": "[parameters('appName')]",
      "type": "Microsoft.Web/sites",
      "apiVersion": "2021-02-01",
      "location": "[resourceGroup().location]",
      "properties": {
        "name": "[parameters('appName')]",
        "siteConfig": {
          "virtualNetworkConnection": [
            {
              "name": "vnetIntegration",
              "properties": {
                "vnetResourceId": "[resourceId('Microsoft.Network/virtualNetworks', 'vnetIntegration')]",
                "subnetResourceId": "[if(not(equals(variables('subnetId'), json('null'))), variables('subnetId'), json('null'))]"
              },
              "condition": "[not(equals(variables('subnetId'), json('null')))]"
            }
          ]
        }
      }
    }
  ]
}

部署状态:

输出:

相关问题