Visual Studio で Azure Logic Apps と Azure Functions を使用してサーバーレス アプリの例を作成する

適用対象: Azure Logic Apps (従量課金)

Azure Logic Apps や Azure Functions などの Azure のサービスおよび機能を使用して、クラウド ベースの "サーバーレス" アプリをすばやく作成、構築、配置できます。 Azure Logic Apps を使用すると、少量のコードまたはコードなしのアプローチを使用してワークフローをすばやく、かつ簡単に構築して、組み合わされたタスクの調整を簡略化できます。 サービス間のやり取りをコード化することなく、またグルー コードを維持したり、新しい API や仕様を学習したりしなくても、さまざまなサービス (クラウド、オンプレミス、またはハイブリッド) を統合できます。 Azure Functions を使用すると、イベント ドリブン モデルを使用して開発を高速化できます。 独自のコードを自動的に実行することによって、イベントに応答するトリガーを使用できます。 バインドを使用して他のサービスをシームレスに統合できます。

この記事では、Azure クイックスタート テンプレートを使用して、マルチテナント Azure で実行されるサーバーレス アプリの例を作成する方法について説明します。 このテンプレートは、Azure Resource Manager の配置テンプレートを含む Azure リソース グループ プロジェクトを作成します。 このテンプレートでは、定義済みのワークフローに、定義した Azure 関数への呼び出しが含まれている基本的なロジック アプリ リソースを定義します。 このワークフロー定義には、次のコンポーネントが含まれています。

  • HTTP 要求を受信する Request トリガー。 このトリガーを起動するには、トリガーの URL に要求を送信します。
  • 後で定義できる Azure 関数を呼び出す Azure Functions アクション。
  • その関数からの結果が含まれている HTTP 応答を返す Response アクション。

詳細については、次の記事を参照してください。

前提条件

リソース グループ プロジェクトを作成する

最初に、サーバーレス アプリ用のコンテナーとして Azure リソース グループ プロジェクトを作成します。 Azure では、"リソース グループ" は、アプリ全体のリソースを整理するために使用する論理的なコレクションです。 その後、これらのリソースを 1 つの資産として管理したり配置したりできます。 Azure のサーバーレス アプリの場合、リソース グループには Azure Logic Apps "および" Azure Functions のリソースが含まれています。 詳細については、リソース マネージャーの用語に関するページを確認してください。

  1. Visual Studio を開き、Azure アカウントでサインインします (求められた場合)。

  2. 開始ウィンドウが開いた場合は、 [新しいプロジェクトの作成] を選択します。

    [新しいプロジェクトの作成] が選択された Visual Studio の開始ウィンドウを示すスクリーンショット。

  3. 開始ウィンドウが開かない場合は、[ファイル] メニューから、[新規][プロジェクト] の順に選択します。

    [新規] メニューと [プロジェクト] が選択された開かれている [ファイル] メニューを示すスクリーンショット。

  4. [新しいプロジェクトの作成] ウィンドウが開いたら、検索ボックスで、C# または Visual Basic の [Azure リソース グループ] プロジェクト テンプレートを選択します。 準備ができたら、 [次へ] を選択します。 この例では C# で続行します。

    検索ボックスに

  5. [新しいプロジェクトを構成する] ウィンドウが開いたら、プロジェクトに関する情報 (名前など) を指定します。 完了したら [作成] を選択します。

    [新しいプロジェクトを構成する] ウィンドウとプロジェクトの詳細を示すスクリーンショット。

  6. [Azure テンプレートの選択] ウィンドウが開いたら、 [この場所からテンプレートを参照します] の一覧から、テンプレートの場所として [Azure クイックスタート (github.com/Azure/azure-quickstart-templates)] を選択します。

  7. 検索ボックスに「 logic-app-and-function-app」と入力します。 結果から、quickstarts\microsoft.logic\logic-app-and-function-app という名前のテンプレートを選択します。 終了したら、 [OK] を選択します。

    テンプレートの場所として [Azure クイックスタート] が選択され、[quickstarts\microsoft.logic\logic-app-and-function-app] が選択された [Azure テンプレートの選択] ウィンドウを示すスクリーンショット。

    Visual Studio によって、プロジェクト用のソリューション コンテナーを含むリソース グループ プロジェクトが作成されます。

    作成されたプロジェクトとソリューションを示すスクリーンショット。

  8. 次に、ソリューションを Azure にデプロイします。

    重要

    必ず配置手順を完了するようにしてください。 そうしないと、Visual Studio でデザイナーを使用してロジック アプリのワークフローを開いたり、確認または編集したりできません。

ソリューションのデプロイ

Visual Studio でデザイナーを使用してロジック アプリを開くには、そのアプリを Azure に配置しておく必要があります。 それにより、デザイナーは、ロジック アプリのワークフローで使用されるサービスやリソースへの接続を作成できます。

  1. ソリューション エクスプローラーでリソース プロジェクトのショートカット メニューから、[配置][新規] の順に選択します。

    プロジェクトのショートカット メニューが開かれ、[配置] メニューが開かれて [新規] が選択されたソリューション エクスプローラーを示すスクリーンショット。

  2. [リソース グループに配置する] ウィンドウが開いたら、次の手順に従って配置情報を指定します。

    1. ウィンドウによって現在のサブスクリプションが検出されたら、その Azure サブスクリプションを確認するか、または必要に応じて別のサブスクリプションを選択します。

    2. Azure に新しいリソース グループを作成します。 [リソース グループ] の一覧から、 [新規作成] を選択します。

      [新規作成] が選択された [リソース グループに配置する] ウィンドウを示すスクリーンショット。

    3. [リソース グループの作成] ウィンドウが開いたら、次の情報を指定します。

      プロパティ 説明
      リソース グループ名 リソース グループに付ける名前
      リソース グループの場所 ロジック アプリ リソースをホストする Azure データセンターのリージョン

      この例では、米国西部リージョンにリソース グループを作成して続行します。

      新しいリソース グループの情報が表示された [リソース グループの作成] ウィンドウを示すスクリーンショット。

    4. ソリューションの作成と配置を完了します。たとえば、次のようにします。

      展開の設定

  3. [パラメーターの編集] ウィンドウが表示された場合は、配置されたロジック アプリ リソースと関数アプリのリソースに使用するリソース名を指定した後、変更を保存します。

    重要

    ロジック アプリと関数アプリには必ずグローバルに一意の名前を使用してください。

    ロジック アプリ リソースと関数アプリのリソースの名前が表示された [パラメーターの編集] ウィンドウを示すスクリーンショット。

    Visual Studio がリソース グループへの配置を開始すると、ソリューションの配置の状態が Visual Studio の [出力] ウィンドウに表示されます。 展開が終了すると、ロジック アプリが Azure portal に存在するようになります。

配置されたロジック アプリを開いて編集する

  1. ソリューション エクスプローラーで、azuredeploy.json ファイルのショートカット メニューから、 [ロジック アプリ デザイナーで開く] を選択します。

    [ロジック アプリ デザイナーで開く] が選択された [azuredeploy.json] ショートカット メニューを示すスクリーンショット。

    ヒント

    このコマンドが Visual Studio 2019 にない場合は、Visual Studio に最新の更新プログラムが適用されていることを確認してください。

  2. ワークフロー デザイナーが開いたら、ワークフローを編集するか、またはステップを追加して続行できます。 完了したら、変更を忘れずに azuredeploy.json ファイルに保存します。

    デザイナーでのロジック アプリ ワークフローを示すスクリーンショット。

Azure Functions プロジェクトを作成する

ソリューション内から C# ベースの Azure 関数を作成するには、「クイック スタート: Visual Studio を使用して Azure で初めての C# 関数を作成する」に従って C# クラス ライブラリ プロジェクトを作成します。 それ以外の場合、他の言語を使用して Azure Functions プロジェクトと関数を作成するには、次のクイック スタートに従います。

Visual Studio から関数を展開する

ソリューション内の配置テンプレートでは、azuredeploy.json ファイル内の変数によって指定されている Git リポジトリから、ソリューション内に存在する任意の Azure 関数を配置できます。 ソリューションで Functions プロジェクトを作成する場合は、そのプロジェクトを Git ソース管理 (GitHub や Azure DevOps など) にチェックインしてから、テンプレートによって Azure 関数が配置されるように repo ファイル内の repo 変数を更新できます。

ロジック アプリを管理して実行履歴を表示する

ロジック アプリ リソースが既に Azure に配置されている場合は、これらのアプリを Visual Studio から編集または管理したり、実行履歴を表示したり、無効にしたりすることができます。 詳細については、「Visual Studio でロジック アプリを管理する」を確認してください。

次のステップ