Azure Integration サポート チームの長坂です。
Azure Logic Apps Standard は内部で Azure App Services をホスティングリソースとして活用しており、今回はその仕組みを応用したテクニックをご紹介いたします。
目次
1. Azure Logic Apps Standard のホスト環境
Azure Logic Apps Standard (シングルテナント) は、ホスト環境を独自に指定する場合を除いて基本的には App Service プラン上で動作します。
ロジック アプリ ワークフローの種類と環境 で各ホスティングプランとリソース構成を確認することができます。
Logic Apps のホストである App Service に対して後述する Kudu や CLI を使用することで OS 情報を取得することができます。
2. Kudu
Azure App Service では GUI から CMD や PowerShell のコマンド実行画面を表示することができる Kudu
というサービスが提供されております。
App Service でホストされた Logic Apps Standard でも、Kudu を使用して自身が動作する OS 上でコマンドを実行することができます。
Kudu サービスの概要 - Azure App Service | Microsoft Learn
2025 年 2 月時点では以下の画面から Kudu を開くことができます。
- Azure Portal > Logic Apps リソース > Development tools -
Advanced Tools >Go→
のリンク
画面上部の Debug console
から CMD と PowerShell を選択できます。
一例として PowerShell で環境変数の値を取得する様子を以下に記載します。
1 | $Env:WEBSITE_SITE_NAME |
上記を実行すると、Logic Apps のリソース名が表示されます。
App Service の OS ではその他に様々な環境変数が存在しており、状況に応じて必要な値が設定された環境変数を取得してワークフロー内のアクションで活用することができます。
環境変数とアプリ設定のリファレンス - Azure App Service | Microsoft Learn
このように、OS 情報を取得することが可能です。
3. アクションで OS 情報を取得する一例
PowerShell で環境変数を取得できるということは、同様にワークフロー内の Execute Powershell Code
アクションでも取得が可能ということです。Execute Powershell Code
アクションの使い方や制限事項等の説明は以下のドキュメントに記載されております。
Standard ワークフローで PowerShell を追加して実行する - Azure Logic Apps | Microsoft Learn
ワークフローに出力を返し、後続のアクションで取得した環境変数の値を使用するには上記にも記載の通り、Push-WorkflowOutput
を使います。
ワークフローに出力を返すには、Push-WorkflowOutput コマンドレットを使う必要があります。
1 | $envVariables = [PSCustomObject]@{ |
アクションが成功すると、このように JSON で出力が返されます。
ワークフローに返した出力は Parse JSON
アクション等を使用することで、動的コンテンツで取り扱える形式の値とすることが可能になり、より柔軟性が向上します。
JSON の解析アクション
4. まとめ
本記事では、Azure Logic Apps Standard がホストされた App Service の OS 環境変数を取得してワークフロー内で使用する方法をご紹介しました。
同様の手法で環境変数以外の OS 情報を取得して使用することが可能であるため、ホスト環境である App Service に対する理解を深めた上でご紹介した方法を活用することで、より幅広い応用が可能になるかと存じます。
ただし、この方法はあくまで Azure Logic Apps Standard 内部の仕組みを応用したものであり、Azure Logic Apps の標準の機能として提供されるものではありません。
したがって、すべての OS の情報が同じ方法で取得できるとは限らず、将来に渡って同じ手段が使い続けられる保証はありません。
あくまで試行ベースで得られた結果を活用する方法であるということをご認識の上参考にしていただきますようお願いいたします。
皆様の開発のご参考になれば幸いです。
2025 年 2 月 17 日時点の内容となります。
本記事の内容は予告なく変更される場合がありますので予めご了承ください。
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。