0

我正在编写一个自动创建 PostgreSQL 数据库的 Azure 资源管理器模板。我已成功添加防火墙规则,其中包含以下内容:

{
  "type": "firewallRules"
  "apiVersion": "2017-12-01",
  "dependsOn": [
    "[concat('Microsoft.DBforPostgreSQL/servers/', variables('serverName'))]"
    ],
    "location": "[parameters('location')]",
    "name": "[concat(variables('serverName'),'firewall')]",
    "properties": {
      "startIpAddress": "[parameters('firewallStartIpAddress')]",
      "endIpAddress": "[parameters('firewallEndIpAddress')]"
    }
}

但是,如果我想添加 VNET 规则怎么办?在此处的文档中似乎没有提到这一点。

我对此进行了研究并发现了此文档,但它与“Microsoft.Sql”资源有关,而不是“Microsoft.DBforPostgreSQL”资源。

4

1 回答 1

1

基于 PostgreSQL 的 API:虚拟网络规则 - 创建或更新,似乎 MS 在模板中错过了它。

我已经尝试过像下面的 sql 模板这样的模板,但它不起作用。

{
  "name": "string",
  "type": "Microsoft.DBforPostgreSQL/servers/virtualNetworkRules",
  "apiVersion": "2017-12-01",
  "properties": {
    "virtualNetworkSubnetId": "string",
    "ignoreMissingVnetServiceEndpoint": boolean
  }
}

更新

根据我的测试,在门户中设置 SQL DB 的 vnet 规则后,我可以通过Azure 资源管理器找到它(您可以在 resource.azure.com 中访问它),请参阅截图。

在此处输入图像描述

在此处输入图像描述

AFAIK,用于 PostgreSQL 的 azure 数据库支持 API、azure CLI、azure 门户以设置 vnet 规则。

但是在门户中设置后,我在资源浏览器自动化脚本中找不到它。

在此处输入图像描述

所以我认为 postgresql 不支持ARM 模板。如果您想改进 azure db for postgresql,您可以在反馈中发布您的想法。

另外,我找到了一个ARM Template for MySQL的想法,现在支持了。如果你发布它,我认为它会在未来得到支持。

于 2018-07-10T06:23:58.610 回答