Azure Logic Apps(ロジックアプリ)をARMテンプレートを使ってデプロイ(箱のみ)
Azure Logic AppをARMテンプレート+パラメータCSV+Power Shellで一括デプロイを試してみました。
ARMテンプレートで指定するParameterをCSVファイルから読み込む事により複数纏めてデプロイ出来ないかなぁという事でやってみました。
Logic Appのデプロイ自動化についてはマイクロソフト公式サイトに記載があります。今回は下記サイトを参考にLogic Appの一番基本的な部分だけを作るまでをやってみました。
Azure Resource Manager テンプレートを使用して Azure Logic Apps のデプロイを自動化する
ARMテンプレートを使ったデプロイに関しては以下の前提条件で試してみました。
-
- Logic Appを2つ作成する
- Logic Appのテンプレートを使う
- Logic Appは基本設定のみ
- パラメータの指定はCSVファイルを利用する
- デプロイ先のリソースグループはデプロイ時に指定する
今回作成したものはGitHubにも公開しています。
Logic Appで設定が必要な項目を確認してARMテンプレートを作成してみる
Azure Portalでの設定内容を確認してみます。
Azure Portalで確認してみた所Logic Appのデプロイを行う場合以下の内容を指定が必要な事が分かりました。この内容を指定するようにARMテンプレートを作ってみました。
-
- ロジックアプリ名
- リソースグループ名
- 場所(ロケーション)
- Tag(division;指定)
- Log Analyticsの使用可否、ワークスペース名(今回は無しにしています。)
LogicApp-template-Basic-01.json
{
“$schema": “https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
“contentVersion": “1.0.0.0",
“parameters": {
“workflows_LogicApp_name": {
“type": “String",
“metadata": {}
},
“location": {
“type": “String",
“defaultValue": “japaneast",
“metadata":{}
},
“tag": {
“type": “String",
“defaultValue":"notag",
“metadata":{}
}
},
“variables": {},
“resources": [
{
“type": “Microsoft.Logic/workflows",
“apiVersion": “2017-07-01",
“name": “[parameters('workflows_LogicApp_name’)]",
“location": “[parameters('location’)]",
“tags": {
“division": “[parameters('tag’)]"
},
“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": {},
“triggers": {},
“actions": {},
“outputs": {}
},
“parameters": {}
}
}
]
}
|
Logic App のパラメータ設定用CSVファイルを作成
Logic App を作成する為にCSVから読み込むパラメータは以下の3つになります。この3つを指定するCSVを作成します。
-
- ロジックアプリ名
- 場所(ロケーション)
- Tag
LogicAppName,location,tag |
Logic AppのARMテンプレートをパラメータCSV+Power Shell使ってデプロイ
デプロイ先のリソースグループ名、テンプレートファイルのパス、CSVファイルのパスを指定してデプロイを実施します。
TemplateDeploy_ImportCSV(LogicApp用)_01(公開用).ps1
#Logic App Template Deploy param ( $TemplateFilePath = “テンプレートファイルのパス名" # Inclued Configure Entries # Template Deploy New-AzResourceGroupDeployment -ResourceGroupName $ResourceGroupName ` |
作成が成功すると、以下の通りにLogic Appが作成されたログが表示されます。
Outputs :
eploymentName : LogicApp-template-Basic-01 DeploymentName : LogicApp-template-Basic-01 |
CSVで指定した値で作成した値で作成されている事が確認できます。