在 arm 模板中的数据湖存储上启用虚拟网络规则

Enable virtual network rules on datalake store in arm template

我正在尝试为数据湖存储启用虚拟网络规则。这是我的手臂模板:

{
  "name": "datalakestoretest",
  "type": "Microsoft.DataLakeStore/accounts",
  "location": "[resourceGroup().location]",
  "apiVersion": "2016-11-01",
  "properties": {
    "virtualNetworkRules": [
      {
        "properties": {
          "subnetId": "[variables('subnetId')]"
        },
        "name": "vnetrulename"
      }
    ]
  },
  "dependsOn": [
    "[ concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]"
  ]
}

当我部署模板时,它没有启用 vNet 规则。

但是,当我在门户中添加规则时,它的配置已经存在,我不必 select vNet 和子网。

所以数据湖存储正在从模板接收 vNet 规则,但它只是没有被启用。如何启用它?

我也尝试过 the msft documentation, 中的语法,因此 vNetRule 作为一个单独的资源,但部署失败。

谢谢

您需要在模板中的资源属性中添加"firewallState": "Enabled",

{
    "properties": {
        "firewallState": "Enabled",
        "virtualNetworkRules": [
            {
                "properties": {
                    "subnetId": "xxx"
                },
                "name": "xxx"
            }
        ]
    },
    "apiVersion": "2016-11-01",
    "location": "yyy",
    "name": "xxx",
    "type": "Microsoft.DataLakeStore/accounts"
}