0

Как я могу развернуть логическое приложение, которое вызывает хранимую процедуру SQL DB? Я пробовал следующее действие.Развертывание логического приложения с использованием шаблонов ARM/powershell

"actions": { 
      "Execute_stored_procedure": { 
       "conditions": [ ], 
       "inputs": { 
       "body": null, 
       "host": { 
        "api": { 
        "runtimeUrl": "https://logic-apis-northcentralus.azure-apim.net/apim/sql" 
        }, 
        "connection": { 
        "name": "<sql connection string>" 
        } 
       }, 
       "method": "post", 
       "path": "/datasets/default/procedures/@{encodeURIComponent(encodeURIComponent(string('<stored-procedure-name>')))}" 
       }, 
       "type": "apiconnection" 
      } 
      } 

Когда я раскрываю этот шаблон, ошибки созданы, но это бросание логика приложения ПОЛУЧИТЬ в или действие соединения SQL не отображается на точки зрения дизайна. Что я здесь делаю неправильно? Является ли приложение Logic для вызова SQL Stored Proc, поддерживаемого вручную?

+0

Является ли вашим шаблоном ARM также шаги для создания соединения? – TusharJ

+0

Это не сейчас. Я не смог найти документацию о шаблоне для создания соединения SQL api. – harryjohn

ответ

0

Я наконец понял это из @TusharJ ссылок и я отправляю шаблон я использовал ниже, чтобы настроить LogicApp, который вызывает хранимую процедуру SQL DB в определенные интервалы времени.

resources: 
[ 
    { 
    "type": "Microsoft.Web/connections", 
    "apiVersion": "2015-08-01-preview", 
    "location": "[resourceGroup().location]", 
    "name": "sqlconnector", 
    "properties": { 
     "api": { 
     "id": "[concat('subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/sql')]" 
     }, 
     "displayName": "sqlconnector", 
     "parameterValues": { 
     "sqlConnectionString": "<sql db connection string>" 
     } 
    } 
    }, 
    { 
    "type": "Microsoft.Logic/workflows", 
    "apiVersion": "2015-08-01-preview", 
    "name": "[parameters('logicAppName')]", 
    "location": "[resourceGroup().location]", 
    "tags": { 
     "displayName": "LogicApp" 
    }, 
    "properties": { 
     "sku": { 
     "name": "[parameters('workflowSkuName')]", 
     "plan": { 
      "id": "[concat(resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('svcPlanName'))]" 
     } 
     }, 
     "definition": { 
     "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2015-08-01-preview/workflowdefinition.json#", 
     "contentVersion": "1.0.0.0", 
     "parameters": { 
      "$connections": { 
      "defaultValue": { }, 
      "type": "Object" 
      } 
     }, 
     "triggers": { 
      "recurrence": { 
      "type": "recurrence", 
      "recurrence": { 
       "frequency": "Hour", 
       "interval": 1 
      } 
      } 
     }, 
     "actions": { 
      "Execute_stored_procedure": { 
      "conditions": [ ], 
      "inputs": { 
       "body": null, 
       "host": { 
       "api": { 
        "runtimeUrl": "[concat('https://logic-apis-', resourceGroup().location, '.azure-apim.net/apim/sql')]" 
       }, 
       "connection": { 
        "name": "@parameters('$connections')['sql']['connectionId']" 
       } 
       }, 
       "method": "post", 
       "path": "/datasets/default/procedures/@{encodeURIComponent(encodeURIComponent(string('[dbo].[<Stored Proc Name>]')))}" 
      }, 
      "type": "apiconnection" 
      } 
     }, 
     "outputs": { } 
     }, 
     "parameters": { 
     "$connections": { 
      "value": { 
      "sql": { 
       "connectionId": "[resourceId('Microsoft.Web/connections', 'sqlconnector')]", 
       "connectionName": "sqlconnector", 
       "id": "[reference(concat('Microsoft.Web/connections/', 'sqlconnector'), '2015-08-01-preview').api.id]" 
      } 
      } 
     } 
     } 
    } 
    } 
] 
+0

Большое спасибо Гарри за это. – TusharJ

1

Возможно, изменения изменились в API, поскольку был дан предыдущий ответ. Вот что сработало для меня с 10/2016. Примечание: Я использовал параметры (определения не показаны) для многих переменных:

{ 
    "type": "Microsoft.Web/connections", 
    "apiVersion": "2015-08-01-preview", 
    "location": "[parameters('location')]", 
    "name": "[variables('sql_conn_name')]", 
    "properties": { 
    "api": { 
     "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/sql')]" 
    }, 
    "displayName": "sql_connection", 
    "parameterValues": { 
     "server": "[concat(variables('dbserver_unique_name'), '.database.windows.net')]", 
     "database": "[parameters('databases_name')]", 
     "authType": "windows", 
     "username": "[parameters('databases_admin_user')]", 
     "password": "[parameters('databases_admin_password')]" 
    } 
    } 
}, 
{ 
    "type": "Microsoft.Logic/workflows", 
    "name": "[variables('logic_app_name')]", 
    "apiVersion": "2016-06-01", 
    "location": "[parameters('location')]", 
    "properties": { 
    "state": "Enabled", 
    "definition": { 
     "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", 
     "contentVersion": "1.0.0.0", 
     "parameters": { 
     "$connections": { 
      "defaultValue": { }, 
      "type": "Object" 
     } 
     }, 
     "triggers": { 
     "Recurrence": { 
      "recurrence": { 
      "frequency": "Hour", 
      "interval": 1 
      }, 
      "type": "Recurrence" 
     } 
     }, 
     "actions": { 
     "Execute_stored_procedure": { 
      "runAfter": { }, 
      "type": "ApiConnection", 
      "inputs": { 
      "body": { 
       "timeoffset": "-4" 
      }, 
      "host": { 
       "api": { 
       "runtimeUrl": "[concat('https://logic-apis-', parameters('location'), '.azure-apim.net/apim/sql')]" 
       }, 
       "connection": { 
       "name": "@parameters('$connections')['sql']['connectionId']" 
       } 
      }, 
      "method": "post", 
      "path": "/datasets/default/procedures/@{encodeURIComponent(encodeURIComponent('[dbo].[usp_UpdateHourlyOos]'))}" 
      } 
     } 
     }, 
     "outputs": { } 
    }, 
    "parameters": { 
     "$connections": { 
     "value": { 
      "sql": { 
      "connectionId": "[concat(subscription().id, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Web/connections/', variables('sql_conn_name'))]", 
      "connectionName": "[variables('sql_conn_name')]", 
      "id": "[concat(subscription().id,'/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/sql')]" 
      } 
     } 
     } 
    } 
    }, 
    "resources": [ ], 
    "dependsOn": [ 
    "[resourceId('Microsoft.Web/connections', variables('sql_conn_name'))]" 
    ] 
} 
+0

Похоже, что версия api, используемая в вашем шаблоне, является последней ('2016-06-01') по сравнению с той, которую я ранее использовал ('2015-08-01-preview'), все еще был превью. – harryjohn

 Смежные вопросы

  • Нет связанных вопросов^_^