適用対象: Azure Logic Apps (従量課金)
多くの場合、統合開発者は、インフラストラクチャを管理せずに、SaaS アプリ、エンタープライズ システム、データ ソース全体のビジネス プロセスを自動化する必要があります。 また、定義のバージョン管理、更新、変更の確認を効率的に行えるように、ワークフローを構築するためのコード優先の方法も必要です。
このクイック スタートでは、Visual Studio Code でローカルのコード優先ツールを使用して、マルチテナント Azure Logic Apps で従量課金ワークフローを作成および管理する方法について説明します。 従量課金ワークフローは、イベント ドリブンワークフローとスケジュールされたワークフローのサーバーレス統合モデルを提供するため、実行するアクションに対してのみ料金を支払いながら、サービスを接続し、プロセスを自動化できます。
Visual Studio Code では、コード エディターを使用して JavaScript Object Notation (JSON) のワークフロー定義を編集したり、必要に応じてビジュアル デザイナーを使用したり、Azure でデプロイされたワークフローを管理したりできます。 また、Linux、Windows、macOS など、Visual Studio Code が実行されている任意の開発プラットフォームのワークフローと統合アカウントで作業することもできます。
次のスクリーンショットは、従量課金ワークフロー定義の例を示しています。
詳細については、以下を参照してください:
前提条件
Azure アカウントとサブスクリプション。 無料の Azure アカウントを取得します。
ロジック アプリのワークフロー定義とその構造に関する基本的な知識 (JSON 形式)。
この記事の例では、この クイック スタート と同じロジック アプリ ワークフローを作成します。このワークフローでは、基本的な概念について詳しく説明します。 また、Azure CLI を使用してワークフローを作成および管理する方法についても学習できます。
Azure と Azure サブスクリプションにサインインするための Web へのアクセス。
まだインストールしていない場合は、次のツールをダウンロードしてインストールします。
Azure Logic Apps (コンシューマ) 用 Visual Studio Code 拡張機能。
この拡張機能は、 Visual Studio Marketplace から、または Visual Studio Code 内から直接インストールします。
インストール後に Visual Studio Code を再読み込みします。
詳細については、「Extension Marketplace (拡張機能 Marketplace)」をご覧ください。 この拡張機能のオープン ソース バージョンに協力するには、GitHub の Visual Studio Code 用 Azure Logic Apps 拡張機能に関するページを参照してください。
ロジック アプリ ワークフローが、トラフィックを特定の IP アドレスに制限するファイアウォール経由で通信する必要がある場合、ファイアウォールは、Azure Logic Apps によって使用される受信 IP アドレスと送信 IP アドレスの両方、またはロジック アプリ ワークフローが存在する Azure リージョン内のランタイムへのアクセスを許可する必要があります。
ロジック アプリ ワークフローで Office 365 Outlook コネクタや SQL コネクタなどのマネージド コネクタも使用している場合、またはカスタム コネクタを使用している場合、ファイアウォールはロジック アプリの Azure リージョン内のすべてのマネージド コネクタ送信 IP アドレスへのアクセスを許可する必要があります。
Visual Studio Code から Azure にアクセスする
Visual Studio Code で、 Azure アカウントにサインインします。
サインインに通常よりも長い時間がかかる場合、Visual Studio Code はユーザーにデバイス コードを提供して、Microsoft 認証 Web サイトでサインインするよう求めます。 代わりにコードを使用してサインインするには、次の手順に従います。
[ デバイス コードの使用] を選択し、[ コピーして開く] を選択します。
[ リンクを開く ] を選択して新しいブラウザー ウィンドウを開き、認証 Web サイトに進みます。
[アカウントにサインインする] ページで認証コードを入力し、 [次へ] を選択します。
アクティビティ バーで、Azure アイコンを選択します。
Azure ペインの [Logic Apps (Consumption)] セクションと [Integration Accounts ] セクションに、アカウントに関連付けられている Azure サブスクリプションが表示されるようになりました。 予想されるサブスクリプションが表示されない場合、またはセクションに表示されるサブスクリプションが多すぎる場合は、次の手順に従います。
[ Logic Apps (従量課金)] セクションで、[サブスクリプションの選択] を 選択します。
サブスクリプションの一覧から、使用するサブスクリプションを選択します。
[ Logic Apps (従量課金)] セクションで、サブスクリプションを展開して、そのサブスクリプションにデプロイされたロジック アプリを表示します。
ロジック アプリを作成する
Visual Studio Code の [ Logic Apps (Consumption)] セクションで、サブスクリプションのショートカット メニューから [ ロジック アプリの作成] を選択します。
一覧が表示され、サブスクリプション内の Azure リソース グループが表示されます。
リソース グループの一覧から、[ 新しいリソース グループの作成 ] または [既存のリソース グループ] を選択します。
この例では、[ 新しいリソース グループの作成] を選択します。次に例を示します。
Azure リソース グループの名前を入力します。
ロジック アプリのメタデータを保存する Azure リージョンを選択します。
ロジック アプリの名前を入力します。
Azure ウィンドウの Azure サブスクリプションの下に、新しいロジック アプリと空のワークフローが表示されます。 Visual Studio Code では、次に示すスケルトン ワークフロー定義を含む JSON (.logicapp.json) ファイルも開きます。
これで、この JSON ファイルでワークフロー定義の手動作成を開始できるようになりました。 ワークフロー定義の構造と構文に関するテクニカル リファレンスについては、「 Azure Logic Apps のワークフロー定義言語スキーマ」を参照してください。
次のサンプル ロジック アプリ ワークフロー定義は、RSS トリガーと Office 365 Outlook アクションで始まります。 通常、JSON 要素は各セクション内でアルファベット順に表示されます。 ただし、このサンプルでは、これらの要素を、ワークフロー操作がデザイナーに表示される順序で大まかに示しています。
{ "$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": { "When_a_feed_item_is_published": { "recurrence": { "frequency": "Minute", "interval": 30 }, "splitOn": "@triggerBody()?['value']", "type": "ApiConnection", "inputs": { "host": { "connection": { "name": "@parameters('$connections')['rss']['connectionId']" } }, "method": "get", "path": "/OnNewFeed", "queries": { "feedUrl": "@{encodeURIComponent('https://feeds.content.dowjones.io/public/rss/RSSMarketsMain')}", "sinceProperty": "PublishDate" } } } }, "actions": { "Send_an_email_(V2)": { "runAfter": {}, "type": "ApiConnection", "inputs": { "body": { "Body": "<p>Title: @{triggerBody()?['title']}<br>\n<br>\nDate published: @{triggerBody()?['updatedOn']}<br>\n<br>\nLink: @{triggerBody()?['primaryLink']}</p>", "Subject": "RSS item: @{triggerBody()?['title']}", "To": "sophia-owen@fabrikam.com" }, "host": { "connection": { "name": "@parameters('$connections')['office365']['connectionId']" } }, "method": "post", "path": "/v2/Mail" } } }, "outputs": {} }重要
このサンプル ワークフロー定義を再利用するには、 @fabrikam.comなどの組織の職場または学校アカウントが必要です。 架空の電子メール アドレスを実際の電子メール アドレスに置き換えてください。
Outlook.com や Gmail などの別の電子メール コネクタを使用するには、
Send_an_email_actionアクションを 、Azure Logic Apps でサポートされている電子メール コネクタから使用できる同様のアクションに置き換えます。Gmail コネクタの使用を希望する場合、ロジック アプリで制限なしにこのコネクタを使用できるのは、G-Suite ビジネス アカウントだけです。 Gmail コンシューマー アカウントをお持ちの場合は、このコネクタを特定の Google 承認済みサービスでのみ使用することも、 Gmail コネクタでの認証に使用する Google クライアント アプリを作成することもできます。 詳細については、「Azure Logic Apps での Google コネクタのデータ セキュリティとプライバシー ポリシー」を参照してください。
完了したら、ワークフロー定義を保存します。 (ファイル>保存 するか、Ctrl キーを押しながら S キーを押します)。
ロジック アプリ ワークフロー定義を Azure サブスクリプションにアップロードするように求められたら、[ アップロード] を選択します。
この手順では、Visual Studio Code から Azure portal にロジック アプリワークフロー定義を発行します。これにより、ワークフローが Azure でライブで実行されます。
デザイナーでワークフローを表示する
Visual Studio Code では、ロジック アプリ ワークフローを読み取り専用のデザイン ビューで開くことができます。 デザイナーでワークフロー定義を編集することはできませんが、デザイナー ビューを使用してワークフローを視覚的に確認できます。
Azure ウィンドウの [Logic Apps (Consumption)] セクションで、ロジック アプリのショートカット メニューから [ デザイナーで開く] を選択します。
読み取り専用デザイナーが別のタブで開き、ロジック アプリのワークフローが表示されます。次に例を示します。
Azure portal でワークフローを表示する
Azure portal でロジック アプリ ワークフロー定義を確認するには、次の手順に従います。
Azure portal で、ロジック アプリに関連付けられている同じ Azure アカウントとサブスクリプションを使用してサインインします。
Azure portal の検索ボックスに、ロジック アプリ名を入力します。 結果の一覧からロジック アプリを選択します。
ロジック アプリのサイドバーの [開発ツール] で、デザイナーまたはコード ビューでワークフローを開きます。
デプロイされたロジック アプリの編集
Visual Studio Code では、Azure に既にデプロイされているロジック アプリ リソースのワークフロー定義を開いて編集できます。
重要
運用環境でアクティブに実行されているロジック アプリ ワークフローを編集する前に、中断を最小限に抑え、最初に ロジック アプリ リソースを無効にしてワークフローを中断するリスクを回避します。
Visual Studio Code のアクティビティ バーで、Azure アイコンを選択します。
Azure ウィンドウの [Logic Apps (Consumption)] セクションで、Azure サブスクリプションを展開し、目的のロジック アプリを選択します。
ロジック アプリのショートカット メニューから、[ エディターで開く] を選択します。 または、ロジック アプリ名の横にある編集アイコンを選択します。
Visual Studio Code では、ワークフロー定義を表示できるように、ローカルの一時フォルダーに .logicapp.json ファイルが開きます。
ワークフロー定義ファイルに変更を加えます。
完了したら、変更を保存します (ファイル>保存 するか、Ctrl キーを押しながら S キーを押します)。
Azure portal で変更をアップロードし、既存のロジック アプリ ワークフローを 上書き するように求められたら、[ アップロード] を選択します。
この手順では、Azure portal でロジック アプリ リソースに更新プログラムを発行します。
他のバージョンを表示または昇格する
Visual Studio Code では、ロジック アプリ ワークフローの以前のバージョンを開いて確認できます。 また、以前のバージョンを現在のバージョンに昇格させることもできます。
重要
運用環境でアクティブに実行されているロジック アプリ ワークフローを変更する前に、中断を最小限に抑え、ロジック アプリ リソースを最初に 無効にしてロジック アプリを中断するリスクを回避します。
Azure ウィンドウの [Logic Apps (Consumption)] セクションで、Azure サブスクリプションを展開して、関連付けられているロジック アプリを表示します。
サブスクリプションでロジック アプリを展開し、[バージョン] を展開します。
バージョンの一覧には、ロジック アプリの以前のバージョン (存在する場合) が表示されます。
以前のバージョンを表示するには、次のいずれかの手順を選択します。
JSON 定義を表示するには、 [バージョン] で、その定義のバージョン番号を選択します。 または、バージョンのショートカット メニューから [ エディターで開く] を選択します。
ローカル コンピューターで新しいファイルが開き、そのバージョンの JSON 定義が表示されます。
読み取り専用デザイナーでバージョンを表示するには、バージョンのショートカット メニューから [ デザイナーで開く] を選択します。
以前のバージョンを現在のバージョンに昇格させるには、次の手順に従います。
[ バージョン] で、以前のバージョンのショートカット メニューから [ 昇格] を選択します。
Visual Studio Code で確認を求めるメッセージが表示されたら、 [はい] を選択して続行します。
Visual Studio Code は選択したバージョンを現在のバージョンに昇格させ、昇格したバージョンに新しい番号を割り当てます。 以前のバージョンは、最上位のバージョンの下に表示されます。
ロジック アプリを無効または有効にする
Visual Studio Code では、発行済みのロジック アプリ ワークフローを編集して変更を保存すると、既にデプロイされているロジック アプリが 上書き されます。 運用環境でロジック アプリ ワークフローが中断されないようにし、中断を最小限に抑えるには、まずロジック アプリ リソースを無効にします。 ワークフローが期待どおりに機能していることを確認したら、ロジック アプリ リソースを再アクティブ化できます。
ロジック アプリ リソースの無効化または有効化は、次の方法でワークフロー インスタンスに影響します。
Azure Logic Apps は進行中のワークフローと保留中のワークフローを完了するまで実行し続けます。 このプロセスは、ボリュームやバックログによっては、完了までに時間がかかる場合があります。
Azure Logic Apps は、新しいワークフロー インスタンスを作成することも実行することもありません。
トリガーは、その条件が次に満たされた時点では起動しません。
トリガーの状態は、ワークフローが停止したポイントを記憶します。 そのため、ロジック アプリを再アクティブ化すると、前回の実行以降にまだ処理されていない項目に対してトリガーが起動します。
ロジック アプリ リソースを再アクティブ化する前に、これらの未処理の項目に対するトリガーの起動を停止するには、トリガーの状態をクリアします。
- ワークフローで、トリガーの任意の部分を編集します。
- 変更を保存します。 この手順により、トリガーの現在の状態がリセットされます。
- ロジック アプリ リソースを再アクティブ化します。
ロジック アプリ リソースが無効になっている場合でも、ワークフローの実行を再送信できます。
Visual Studio Code でロジック アプリ リソースを無効または有効にするには、次の手順に従います。
Visual Studio Code で、Azure ウィンドウを開きます。
[ Logic Apps (Consumption)] セクションで 、Azure サブスクリプションを展開して、関連付けられているロジック アプリを表示します。
ロジック アプリ リソースを無効にするには、ロジック アプリのショートカット メニューから [ 無効] を選択します。
ロジック アプリ リソースを再アクティブ化する準備ができたら、ロジック アプリのショートカット メニューから [有効] を選択します。
ロジック アプリを削除する
ロジック アプリを削除すると、ワークフロー インスタンスに次のような影響が生じます。
Azure Logic Apps は、進行中のワークフロー実行と保留中のワークフロー実行を取り消そうとします。
大量のボリュームやバックログがあったとしても、ほとんどの実行は完了前または開始前にキャンセルされます。 ただし、キャンセル プロセスは完了までに時間がかかる場合があります。 一方で、サービスはキャンセル処理を進めている間にも、実行のためにいくつかの実行ジョブを取得してしまう可能性があります。
Azure Logic Apps は、新しいワークフロー インスタンスを作成することも実行することもありません。
ワークフローを削除してから同じワークフローを再作成すると、再作成されたワークフローのメタデータが異なります。 削除されたワークフローを呼び出したワークフローを再保存する必要があります。 再保存すると、呼び出し元は再作成されたワークフローの正しい情報を取得します。 それ以外の場合、再作成したワークフローの呼び出しは、
Unauthorizedエラーで失敗します。 この動作は、統合アカウントのアーティファクトを使用するワークフローや、Azure 関数を呼び出すワークフローにも当てはまります。
Visual Studio Code からロジック アプリ リソースを削除するには、次の手順に従います。
Visual Studio Code で、Azure ウィンドウを開きます。
[ Logic Apps (Consumption)] セクションで 、Azure サブスクリプションを展開して、関連付けられているロジック アプリ リソースを表示します。 削除するロジック アプリ リソースを見つけます。
ロジック アプリのショートカット メニューから [削除] を選択 します。