チュートリアル:Azure Logic Apps を使用して承認ベースのワークフローを作成する
適用対象: Azure Logic Apps (従量課金)
このチュートリアルでは、Azure Logic Apps を使用して、承認ベースのタスクを自動化するワークフローの例を作成する方法について説明します。 この例では、MailChimp によって管理されるメーリング リストの登録申請を処理する従量課金ロジック アプリ ワークフローを作成します。
このワークフローは、申請のメール アカウント監視から始まり、承認申請の送信、申請が承認されたかどうかの確認、承認されたメンバーのメーリング リストへの追加、新しいメンバーがリストに追加されたかどうかの確認が行われます。
完了すると、ワークフローは次の大まかな例のようになります。
ヒント
詳細について、Azure Copilot に次のように質問することができます。
- Azure Logic Apps とは
- "従量課金のロジック アプリ ワークフローとは何ですか?"
Azure Copilot を見つけるには、Azure portal のツール バーで、[Copilot] を選択します。
Azure Blob Storage などの一部のコネクタ操作が、組み込みのサービス プロバイダー ベースの操作としても使用できる Standard ロジック アプリ リソースを使用して、同様のワークフローを作成できます。 ただし、ユーザー エクスペリエンスとチュートリアルの手順は、従量課金バージョンとは若干異なります。
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
MailChimp アカウント。このアカウントには、ロジック アプリから承認済みメンバーのメール アドレスを追加できるリスト "test-members-ML" を作成しておく必要があります。 アカウントがない場合は、無料アカウントにサインアップして、MailChimp リストの作成方法を確認してください。
承認ワークフローに対応した Office 365 Outlook または Outlook.com のメール アカウント。 他の電子メール プロバイダーについては、「Azure Logic Apps のコネクタ」をご覧ください。
このクイックスタートでは、Office 365 Outlook と職場または学校アカウントを使用します。 別のメール アカウントを使う場合、おおよその手順は変わりませんが、ユーザー エクスペリエンスがやや異なることがあります。 Outlook.com を使用する場合は、代わりに個人用 Microsoft アカウントを使用してサインインします。
重要
Gmail コネクタの使用を希望する場合、ロジック アプリ ワークフローで制限なしにこのコネクタを使用できるのは、G-Suite ビジネス アカウントだけです。 Gmail コンシューマー アカウントを持っている場合は、Google によって承認された特定のサービスのみでこのコネクタを使用できるほか、認証に使用する Google クライアント アプリを Gmail コネクタで作成することができます。 詳細については、「Azure Logic Apps での Google コネクタのデータ セキュリティとプライバシー ポリシー」を参照してください。
ロジック アプリ ワークフローが特定の IP アドレスへのトラフィックを制限するファイアウォール経由で通信する必要がある場合、そのファイアウォールは、ロジック アプリ リソースが存在する Azure リージョン内の Azure Logic Apps で使用される受信と送信 IP アドレスの両方に対して、アクセスを許可する必要があります。 また、ロジック アプリが Office 365 Outlook コネクタや SQL コネクタなどのマネージド コネクタを使用している場合、またはカスタム コネクタを使用している場合、そのファイアウォールでは、ロジック アプリの Azure リージョン内の "すべて" のマネージド コネクタ アウトバウンド IP アドレスへのアクセスを許可する必要もあります。
従量課金のロジック アプリ リソースを作成する
Azure portal で、Azure アカウントを使ってサインインします。
Azure portal の検索ボックスに「ロジック アプリ」と入力し、[ロジック アプリ] を選びます。
[ロジック アプリ] ページのツール バーで [追加] を選びます。
[ロジック アプリの作成] ページが表示され、次のオプションが表示されます。
プラン 説明 従量課金プラン マルチテナント Azure Logic Apps で実行され、課金に従量課金モデルを使用するワークフローを 1 つだけサポートするロジック アプリ リソースを作成します。 Standard 複数のワークフローをサポートするロジック アプリ リソースを作成します。 次のオプションがあります。
- ワークフロー サービス プラン: ワークフローはシングルテナントの Azure Logic Apps で実行され、課金に Standard モデルを使用します。
- App Service Environment V3: ワークフローはシングルテナントの Azure Logic Apps で実行され、課金に App Service Environment プランを使用します。
- ハイブリッド (プレビュー): Kubernetes イベント ドリブン自動スケーリング (KEDA) を使用して、オンプレミスおよび複数のクラウドでワークフローが実行されます。 詳細については、「ハイブリッド デプロイの Standard ワークフローを作成する」を参照してください。[ロジック アプリの作成] ページで、[従量課金 (マルチテナント)] を選択します。
[基本] タブで、ロジック アプリ リソースに関する次の情報を指定します。
プロパティ 必要 値 説明 サブスクリプション はい <Azure サブスクリプション名> Azure サブスクリプション名。
この例では、従量課金制を使用します。リソース グループ はい <Azure リソース グループ名>< ロジック アプリと関連リソースを作成する Azure リソース グループ。 この名前は、リージョン間で一意である必要があり、文字、数字、ハイフン (-)、アンダースコア (_)、かっこ (())、ピリオド (.) のみを含めることができます。
この例では、LA-MailingList-RG という名前のリソース グループを作成します。ロジック アプリ名 はい <logic-app-resource-name> ロジック アプリ リソースの名前。リージョン間で一意である必要があり、文字、数字、ハイフン (-)、アンダースコア (_)、かっこ (())、およびピリオド (.) のみを含めることができます。
この例では、LA-MailingList という名前のロジック アプリ リソースを作成します。リージョン はい <Azure-region> アプリの Azure データセンター リージョン。
この例では米国西部を使用します。Log Analytics を有効にする はい いいえ 診断ログを有効にする場合にのみ、このオプションを変更します。 このチュートリアルでは、既定の選択をそのまま使います。
注: このオプションは、従量課金ロジック アプリでのみ使用できます。Note
可用性ゾーンは、可用性ゾーンをサポートする Azure リージョン内の新規および既存の従量課金ロジック アプリ ワークフローに対して自動的に有効になります。 詳細については、「Azure Functions の信頼性」および「ゾーン冗長と可用性ゾーンを使用してゾーン障害からロジック アプリを保護する」を参照してください。
完了すると、設定は次の例のようになります。
終了したら、[確認と作成] を選択します。 Azure によってロジック アプリ リソースに関する情報が検証されたら、[作成] を選択します。
Azure によってロジック アプリ リソースがデプロイされたら、[リソースに移動] を選択します。 または、Azure の検索ボックスを使用して自分のロジック アプリ リソースを見つけて選択します。
メールを確認するトリガーを追加する
次の手順では、サブスクリプション要求を含む受信メールを待機するトリガーを追加します。
ロジック アプリ メニューの [開発ツール] で、[ロジック アプリ デザイナー] を選択します。
ワークフロー デザイナーで、この一般的な手順に従って、「新しいメールが届いたとき」という名前の Office 365 Outlook トリガーを追加します。
Office 365 Outlook コネクタは、Microsoft の職場または学校アカウントでサインインする必要があります。 個人用の Microsoft アカウントを使用している場合は、Outlook.com コネクタを使用します。
お使いのメール アカウントにサインインします。これにより、ワークフローとメール アカウントの間に接続が作成されます。
トリガー情報ボックスの [高度なパラメーター] 一覧から、次のパラメーターが表示されない場合は追加し、次の情報を指定します。
パラメーター 価値 説明 重要度 [任意] メールの必要な重要度レベルを指定します。 フォルダー Inbox チェックするメール フォルダー。 件名フィルター subscribe-test-members-ML メールの件名から探すテキストを指定し、件名に基づいてメールをフィルター処理します。 Note
いくつかの編集ボックス内で選択すると、動的コンテンツ リスト (稲妻アイコン) と式エディター (関数アイコン) のオプションが表示されますが、現時点では無視して問題ありません。
このトリガーのプロパティの詳細については、Office 365 Outlook のコネクタ リファレンスまたは Outlook.com のコネクタ リファレンスを参照してください。
完了すると、トリガーは次の例のようになります。
ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。
ワークフローはライブになりましたが、メールの確認以外は何も行いません。 次に、トリガーが起動したときに反応するアクションを追加します。
承認メールを送信するアクションを追加する
次の手順では、申請の承認/拒否を依頼するメールの送信アクションを追加します。
デザイナーの [When a new email arrives (新しい電子メールが届いたとき)] という名前のトリガーで、この一般的な手順に従って、[承認の電子メールを送信します] という名前の Office 365 Outlook アクションを追加します。
[承認の電子メールを送信します] アクションの場合は、次の情報を入力します。
プロパティ 必要 値 説明 To はい <approver-email-address> 承認者のメール アドレス。 テストのために、自分のアドレスを使用します。 情報カテゴリ いいえ <email-subject> わかりやすいメールの件名。
この例では、test-members-ML のメンバー申請の承認を使用します。これらのプロパティの詳細については、Office 365 Outlook のコネクタ リファレンスまたは Outlook.com のコネクタ リファレンスを参照してください。
完了すると、[承認の電子メールを送信します] アクションは、以下の例のようになります。
ワークフローを保存します。
次に、承認者によって選択された応答を確認する条件を追加します。
承認応答を確認するアクションを追加する
デザイナーの [承認の電子メールを送信します] アクションで、この一般的な手順に従って、[条件] という名前の [制御] アクションを追加します。
[条件] アクション ペインで、アクション名を [要求が承認された場合] に変更します。
承認者によって [Approve] が選択されたかどうかをチェックする条件を作成します。
[パラメーター] タブの [AND] リストの最初の行で、左側のボックス内を選択し、動的コンテンツ リスト (稲妻アイコン) を選択します。 このリストから、[承認の電子メールを送信します] セクションで、SelectedOption 出力を選択します。
中央のボックスでは、演算子を [is equal to] という名前のままにしておきます。
右側のボックスに、Approve と入力します。
完了すると、条件は以下の例のようになります。
ワークフローを保存します。
メンバーを MailChimp リストに含めるアクションを追加する
次の手順では、承認されたメンバーをメーリング リストに含めるアクションを追加します。
条件の True ブロックで、この一般的な手順に従って、[メンバーをリストに追加する] という名前の MailChimp アクションを追加します。
MailChimp アカウントにサインインしてアクセスを承認します。ここでは、ワークフローと MailChimp アカウントの間の接続を作成します。
[メンバーをリストに追加する] アクションで、以下の情報を指定します。
パラメーター 必須 値 説明 リスト ID はい <メーリングリスト名> ご自分の MailChimp メーリング リストの名前。
この例では、test-members-ML を使用します。Status はい <メンバーの登録状態> 新しいメンバーの登録ステータス。
この例では [加入済み] が選択されています。メール アドレス はい <member-email-address> 新しいメンバーの電子メール アドレス。
1.[メール アドレス] ボックス内を選択し、動的コンテンツ リスト オプション (稲妻アイコン) を選択します。
動的コンテンツ リストの[When a new email arrives (新しい電子メールが届いたとき)] セクションで、トリガー出力である [送信者] を選択します。[メンバーをリストに追加する] アクションのプロパティの詳細については、MailChimp のコネクタ リファレンスを参照してください。
完了すると、[メンバーをリストに追加する] アクションは、以下の例のようになります。
ワークフローを保存します。
成功か失敗かを確認するアクションを追加する
次の手順では、新しいメンバーがメーリング リストに正常に登録されたかどうかをチェックするための条件を追加します。 ワークフローは、ロジック アプリからこの操作の成否に関する通知を受け取ることができます。
[True] ブロックの [メンバーをリストに追加する] アクションで、この一般的な手順に従って、[条件] という名前の [制御] アクションを追加します。
条件の名前を [メンバーの追加に成功した場合] に変更します。
承認済みのメンバーが正常にメーリング リストに登録されているかどうかをチェックする条件を作成します。
[パラメーター] タブの [AND] リストの最初の行で、左側のボックス内を選択し、動的コンテンツ リスト (稲妻アイコン) を選択します。 このリストから、[メンバーをリストに追加する] セクションで Status 出力を選択します。
中央のボックスでは、演算子を [is equal to] という名前のままにしておきます。
右側のボックスに「加入済み」と入力します。
完了すると、条件は以下の例のようになります。
成功時のメールを送信するアクションを追加する
次の手順では、ワークフローがメーリング リストへのメンバーの追加に成功した場合に、成功時のメールを送信するアクションを追加します。
[メンバーの追加に成功した場合] 条件の True ブロックで、この手順に従って、[メールを送る] という名前の Office 365 Outlook アクションを追加します。
[電子メールの送信] アクションの名前を、[成功時のメールを送信する] に変更します。
[成功時のメールを送信する]アクションで、次の情報を入力します。
パラメーター 必須 値 説明 To はい <recipient-email-address> メール受信者の電子メール アドレス。 テスト目的のため、自分の電子メール アドレスを使用します。 件名 はい <成功時のメールの件名> 成功時に送信されるメールの件名。 この例に対して、次の手順に従います。
1.末尾にスペースを含めた次のテキストを入力します: Success!Member added to test-members-ML:
2.[件名] ボックス内を選択し、動的コンテンツ リスト オプション (稲妻アイコン) を選択します。
3.[メンバーをリストに追加する] セクションで、[メール アドレス] を選択します。
注: この出力が表示されない場合は、[メンバーをリストに追加する] セクション ヘッダーの隣にある [表示を増やす] を選択します。本文 はい <成功時のメール本文> 成功時に送信されるメールの本文の内容。 この例に対して、次の手順に従います。
1.末尾にスペースを含めた次のテキストを入力します: Member opt-in status:
2.[本文] ボックス内を選択し、動的コンテンツ リスト オプション (稲妻アイコン) を選択します。
3.[メンバーをリストに追加する] セクションで、[ステータス] を選択します。完了したアクションは、以下の例のようになります。
ワークフローを保存します。
失敗時のメールを送信するアクションを追加する
次の手順では、ワークフローがメーリング リストへのメンバーの追加に失敗した場合に、失敗時のメールを送信するアクションを追加します。
[メンバーの追加に成功した場合] 条件の False ブロックで、この手順に従って、[メールを送る] という名前の Office 365 Outlook アクションを追加します。
[電子メールの送信] アクションの名前を、[失敗時のメールを送信する] に変更します。
[失敗時のメールを送信する]アクションで、次の情報を入力します。
パラメーター 必須 値 説明 To はい <recipient-email-address> メール受信者の電子メール アドレス。 テスト目的のため、自分の電子メール アドレスを使用します。 件名 はい <failure-email-subject> 失敗時に送信されるメールの件名。 この例に対して、次の手順に従います。
1.末尾にスペースを含めた次のテキストを入力します: Failed, member not added to test-members-ML:
2.[件名] ボックス内を選択し、動的コンテンツ リスト オプション (稲妻アイコン) を選択します。
3.[メンバーをリストに追加する] セクションで、[メール アドレス] を選択します。
注: この出力が表示されない場合は、[メンバーをリストに追加する] セクション ヘッダーの隣にある [表示を増やす] を選択します。本文 はい <failure-email-body> 失敗時に送信されるメールの本文の内容。
この例では、次のテキストを入力します: Member might already exist.Check your MailChimp account.完了したアクションは、以下の例のようになります。
ワークフローを保存します。
完成したワークフローは次の例のようになります。
ワークフローのテスト
メーリング リストの登録申請メールを自分宛てに送信します。 申請が受信トレイに配信されるまで待ちます。
ワークフローを手動で開始するには、デザイナー ツール バーで [実行]>[実行] を選択します。
メールの件名がトリガーの件名フィルターと一致した場合、ワークフローによって登録申請の承認依頼メールが送信されます。
受信した承認メールで [Approve] を選択します。
購読者のメール アドレスがメーリング リストに存在しない場合、ワークフローによってそのメール アドレスが追加され、次の例のようなメールが送信されます。
ワークフローによって購読者を追加できなかった場合は、次の例のようなメールが届きます。
ヒント
メールが届かない場合は、迷惑メール フォルダーを確認してください。 また、ロジック アプリが正しく動作しているかどうかわからない場合は、ロジック アプリのトラブルシューティングに関するページを参照してください。
お疲れさまでした。Azure、Microsoft サービス、その他 SaaS アプリなどの垣根を越えて情報を統合するワークフローを作成し、実行することができました。
リソースをクリーンアップする
ワークフローは、ロジック アプリ リソースを無効にするか削除するまで実行され続けます。 このサンプルの必要がなくなったら、ロジック アプリと関連リソースが含まれるリソース グループを削除しましょう。
ワークフローは、ロジック アプリ リソースを無効にするか削除するまで実行され続けます。 このサンプルの必要がなくなったら、ロジック アプリと関連リソースが含まれるリソース グループを削除しましょう。
Azure portal の検索ボックスに「リソース グループ」と入力し、[リソース グループ] を選択します。
[リソース グループ] の一覧から、このチュートリアルのリソース グループを選択します。
リソース グループ メニューで、[概要] を選択します。
[概要] ページのツール バーで、[リソース グループの削除] を選択します。
確認ウィンドウが表示されたら、リソース グループ名を入力して、 [削除] を選択します。
次のステップ
このチュートリアルでは、メーリング リスト登録申請の承認を処理するロジック アプリ ワークフローを作成しました。 次回は、Azure Storage と Azure Functions などの各種 Azure サービスを統合することによって、メールの添付ファイルを処理して保存するロジック アプリ ワークフローの作成方法について説明します。