Azure Logic Apps での従量課金プランのロジック アプリ デプロイを自動化するために Azure Resource Manager テンプレートを作成する
適用対象: Azure Logic Apps (従量課金)
この記事では、従量課金プランのロジック アプリを自動的に作成およびデプロイするために、Azure Resource Manager テンプレートを作成する方法について説明します。 Azure Logic Apps には、従量課金プランのロジック アプリの作成だけでなく、デプロイ用のリソースとパラメーターの定義にも再利用できるあらかじめ構築されたロジック アプリ Azure Resource Manager テンプレートも用意されています。 このテンプレートを独自のビジネス シナリオで使用することも、要件に合わせてカスタマイズすることもできます。 デプロイに必要なワークフロー定義やその他のリソースを含むテンプレートの構造と構文の概要については、Azure Resource Manager テンプレートを使用したロジック アプリのデプロイの自動化について概説しているページを参照してください。
重要
この記事は、従量課金プランのロジック アプリのみを対象とし、Standard ロジック アプリは対象としていません。 テンプレート内の接続で使用する Azure のリソース グループと場所が、ロジック アプリと同じものであることを確認してください。
Azure Resource Manager テンプレートの詳細については、次のトピックを参照してください。
- Azure Resource Manager テンプレートの構造と構文
- Azure リソース マネージャーのテンプレートの作成
- クラウドの一貫性のための Azure Resource Manager テンプレートを開発する
Azure PowerShell を使用したテンプレートの作成
Resource Manager テンプレートを作成するには、Azure PowerShell と LogicAppTemplate モジュールを使用します。 このオープン ソース モジュールは、最初にロジック アプリとロジック アプリで使用している接続を評価します。 次に、モジュールは、デプロイに必要なパラメーターでテンプレート リソースを生成します。
たとえば、Azure Service Bus キューからメッセージを受信し、Azure SQL Database にデータをアップロードするロジック アプリがあるとします。 このモジュールは、オーケストレーション ロジック全体を保存し、SQL および Service Bus の接続文字列をパラメーター化することで、それらの値をデプロイのニーズに応じて提供し、変更できるようにします。
これらのサンプルでは、Azure Resource Manager テンプレート、Azure DevOps の Azure Pipelines、および Azure PowerShell を使用してロジック アプリを作成およびデプロイする方法が示されています。
- サンプル:Azure Logic Apps を使用した Azure Pipelines の調整
- サンプル:Azure Logic Apps から Azure Storage アカウントに接続し、Azure DevOps に Azure Pipelines を使用してデプロイする
- サンプル:Azure Logic Apps から Azure Service Bus キューに接続し、Azure DevOps に Azure Pipelines を使用してデプロイする
- サンプル: Azure Logic Apps の Azure Functions アクションを設定し、Azure DevOps に Azure Pipelines を使用してデプロイする
- サンプル:Azure Logic Apps から統合アカウントに接続し、Azure DevOps に Azure Pipelines を使用してデプロイする
PowerShell モジュールをインストールする
Azure PowerShell がまだインストールされていない場合は、インストールします。
PowerShell ギャラリーから LogicAppTemplate モジュールをインストールする最も簡単な方法は、次のコマンドを実行することです。
Install-Module -Name LogicAppTemplate
最新バージョンに更新するには、次のコマンドを実行します。
Update-Module -Name LogicAppTemplate
または、手動でインストールする場合は、GitHub に示されている Logic App Template Creator での手順に従ってください。
Azure Resource Manager クライアントのインストール
LogicAppTemplate モジュールが Azure のテナントとサブスクリプションのアクセス トークンで機能するようにするには、Azure Resource Manager クライアント ツールをインストールします。これは、Azure Resource Manager API を呼び出すシンプルなコマンドライン ツールです。
このツールで Get-LogicAppTemplate
コマンドを実行すると、コマンドがまず ARMClient ツールを通じてアクセス トークンを取得し、トークンを PowerShell スクリプトにパイプし、テンプレートを JSON ファイルとして作成します。 このツールの詳細については、こちらの Azure Resource Manager クライアント ツールに関する記事を参照してください。
PowerShell を使用したテンプレートの生成
LogicAppTemplate モジュールと Azure CLI をインストールした後にテンプレートを生成するには、次の PowerShell コマンドを実行します。
$parameters = @{
Token = (az account get-access-token | ConvertFrom-Json).accessToken
LogicApp = '<logic-app-name>'
ResourceGroup = '<Azure-resource-group-name>'
SubscriptionId = $SubscriptionId
Verbose = $true
}
Get-LogicAppTemplate @parameters | Out-File C:\template.json
推奨事項に従って Azure Resource Manager クライアント ツールからトークンをパイプ処理するには、代わりに次のコマンドを実行します。この中の $SubscriptionId
はお使いの Azure サブスクリプション ID です。
$parameters = @{
LogicApp = '<logic-app-name>'
ResourceGroup = '<Azure-resource-group-name>'
SubscriptionId = $SubscriptionId
Verbose = $true
}
armclient token $SubscriptionId | Get-LogicAppTemplate @parameters | Out-File C:\template.json
抽出後に、次のコマンドを実行してテンプレートからパラメーター ファイルを作成できます。
Get-ParameterTemplate -TemplateFile $filename | Out-File '<parameters-file-name>.json'
Azure Key Vault 参照 (静的のみ) を使用して抽出する場合は、次のコマンドを実行します。
Get-ParameterTemplate -TemplateFile $filename -KeyVault Static | Out-File $fileNameParameter
パラメーター | 必須 | 説明 |
---|---|---|
TemplateFile | はい | テンプレート ファイルのファイル パス |
KeyVault | いいえ | 有効なキー コンテナー値の処理方法を記述する列挙。 既定では、 None です。 |