使用本地数据网关进行SQL连接的ARM模板架构

问题描述

我有一个用于定义sql连接的ARM(天蓝色资源管理器)模板。sql连接需要使用本地数据网关资源。

我的问题:用于配置sql连接资源以使用本地数据网关资源的资源模式是什么?

这是当前资源JSON:

{
   "type": "Microsoft.Web/connections","apiVersion": "2016-06-01","name": "sql","location": "southcentralus","kind": "V1","properties": {
      "displayName": "OnPremsqlConn","parameterValues": {
      "server": "XXXXXXXXXX","database": "XXXXXXXXXX","authType": "windows","userName": "XXXXXXXXXX","password": "XXXXXXXXXX"          
      },"customParameterValues": {},"api": {
         "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/providers/Microsoft.Web/locations/southcentralus/managedApis/sql"
      }
   }
}

解决方法

我搜索了“ arm template sql connection use gateway”,而this是第一个结果。

{
   "type": "Microsoft.Web/connections","apiVersion": "2018-07-01-preview","name": "[parameters('sql_1_Connection_Name')]","location": "[parameters('logicAppLocation')]","properties": {
    "displayName": "[parameters('sql_1_Connection_DisplayName')]","customParameterValues": {},"api": {
        "id": "[concat(subscription().id,'/providers/Microsoft.Web/locations/',parameters('logicAppLocation'),'/managedApis/','sql')]"
    },"parameterValues": {
     "server": "[parameters('sql_1_server')]","database": "[parameters('sql_1_database')]","username": "[parameters('sql_1_username')]","password": "[parameters('sql_1_password')]","authType": "basic","gateway": {
      "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.Web/connectionGateways/{{On-Premise DatagatewayName}}"
     }
}

相关的部分是:

“ id”:“ / subscriptions / {{subscriptionId}} / resourceGroups / {{resourceGroupName}} / providers / Microsoft.Web / connectionGateways / {{Pre-Premise DatagatewayName}}”

如果您导航到Azure门户内的资源,也可以在URL栏中使用此ID,或者可以针对现有Azure SQL DB设置网关,然后使用export template功能来获取ARM此资源中的模板。