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 Logic Apps の概要
- Azure Functions について
- Azure Serverless: Azure Logic Apps と Azure Functions を使用してクラウド ベースのアプリおよびソリューションを構築するための概要
前提条件
Azure アカウントとサブスクリプション。 Azure サブスクリプションがない場合は、無料の Azure アカウントにサインアップしてください。
次のツールをダウンロードしてインストールします (まだ行っていない場合)。
Visual Studio 2019、2017、または 2015 (Community または他のエディション)。 Azure Logic Apps の拡張機能は、現在 Visual Studio 2022 では使用できません。 このクイックスタートでは、Visual Studio Community 2019 (無料) を使用します。
重要
Visual Studio 2019 または 2017 をインストールする場合は、必ず [Azure の開発] ワークロードを選択してください。
Microsoft Azure SDK for .NET (バージョン 2.9.1 以降)。 Azure SDK for .NET の詳細を参照してください。
必要なバージョンの Visual Studio 用の最新の Azure Logic Apps ツール拡張機能。 この拡張機能を Visual Studio 内からインストールする方法を確認するか、または Visual Studio Marketplace から Azure Logic Apps Tools の各バージョンをダウンロードできます。
重要
インストールが完了したら、必ず Visual Studio を再起動してください。
Azure Functions Core Tools。Azure 関数をローカルでデバッグできるようにします。 詳細については、「Azure Functions Core Tools の操作」を確認してください。
埋め込みのワークフロー デザイナーを使用している間のインターネットへのアクセス。
デザイナーが Azure にリソースを作成し、ワークフローでマネージド コネクタからプロパティやデータを読み取るには、インターネット接続が必要です。 たとえば、SQL コネクタを使用する場合、デザイナーはサーバー インスタンスをチェックして、既定のプロパティやカスタム プロパティが使用可能かどうか確認します。
リソース グループ プロジェクトを作成する
最初に、サーバーレス アプリ用のコンテナーとして Azure リソース グループ プロジェクトを作成します。 Azure では、"リソース グループ" は、アプリ全体のリソースを整理するために使用する論理的なコレクションです。 その後、これらのリソースを 1 つの資産として管理したり配置したりできます。 Azure のサーバーレス アプリの場合、リソース グループには Azure Logic Apps "および" Azure Functions のリソースが含まれています。 詳細については、リソース マネージャーの用語に関するページを確認してください。
Visual Studio を開き、Azure アカウントでサインインします (求められた場合)。
開始ウィンドウが開いた場合は、 [新しいプロジェクトの作成] を選択します。
開始ウィンドウが開かない場合は、[ファイル] メニューから、[新規][プロジェクト] の順に選択します。
[新しいプロジェクトの作成] ウィンドウが開いたら、検索ボックスで、C# または Visual Basic の [Azure リソース グループ] プロジェクト テンプレートを選択します。 準備ができたら、 [次へ] を選択します。 この例では C# で続行します。
[新しいプロジェクトを構成する] ウィンドウが開いたら、プロジェクトに関する情報 (名前など) を指定します。 完了したら [作成] を選択します。
[Azure テンプレートの選択] ウィンドウが開いたら、 [この場所からテンプレートを参照します] の一覧から、テンプレートの場所として [Azure クイックスタート (github.com/Azure/azure-quickstart-templates)] を選択します。
検索ボックスに「
logic-app-and-function-app
」と入力します。 結果から、quickstarts\microsoft.logic\logic-app-and-function-app という名前のテンプレートを選択します。 終了したら、 [OK] を選択します。Visual Studio によって、プロジェクト用のソリューション コンテナーを含むリソース グループ プロジェクトが作成されます。
次に、ソリューションを Azure にデプロイします。
重要
必ず配置手順を完了するようにしてください。 そうしないと、Visual Studio でデザイナーを使用してロジック アプリのワークフローを開いたり、確認または編集したりできません。
ソリューションのデプロイ
Visual Studio でデザイナーを使用してロジック アプリを開くには、そのアプリを Azure に配置しておく必要があります。 それにより、デザイナーは、ロジック アプリのワークフローで使用されるサービスやリソースへの接続を作成できます。
ソリューション エクスプローラーでリソース プロジェクトのショートカット メニューから、[配置][新規] の順に選択します。
[リソース グループに配置する] ウィンドウが開いたら、次の手順に従って配置情報を指定します。
ウィンドウによって現在のサブスクリプションが検出されたら、その Azure サブスクリプションを確認するか、または必要に応じて別のサブスクリプションを選択します。
Azure に新しいリソース グループを作成します。 [リソース グループ] の一覧から、 [新規作成] を選択します。
[リソース グループの作成] ウィンドウが開いたら、次の情報を指定します。
プロパティ 説明 リソース グループ名 リソース グループに付ける名前 リソース グループの場所 ロジック アプリ リソースをホストする Azure データセンターのリージョン この例では、米国西部リージョンにリソース グループを作成して続行します。
ソリューションの作成と配置を完了します。たとえば、次のようにします。
[パラメーターの編集] ウィンドウが表示された場合は、配置されたロジック アプリ リソースと関数アプリのリソースに使用するリソース名を指定した後、変更を保存します。
重要
ロジック アプリと関数アプリには必ずグローバルに一意の名前を使用してください。
Visual Studio がリソース グループへの配置を開始すると、ソリューションの配置の状態が Visual Studio の [出力] ウィンドウに表示されます。 展開が終了すると、ロジック アプリが Azure portal に存在するようになります。
配置されたロジック アプリを開いて編集する
ソリューション エクスプローラーで、azuredeploy.json ファイルのショートカット メニューから、 [ロジック アプリ デザイナーで開く] を選択します。
ヒント
このコマンドが Visual Studio 2019 にない場合は、Visual Studio に最新の更新プログラムが適用されていることを確認してください。
ワークフロー デザイナーが開いたら、ワークフローを編集するか、またはステップを追加して続行できます。 完了したら、変更を忘れずに azuredeploy.json ファイルに保存します。
Azure Functions プロジェクトを作成する
ソリューション内から C# ベースの Azure 関数を作成するには、「クイック スタート: Visual Studio を使用して Azure で初めての C# 関数を作成する」に従って C# クラス ライブラリ プロジェクトを作成します。 それ以外の場合、他の言語を使用して Azure Functions プロジェクトと関数を作成するには、次のクイック スタートに従います。
- クイックスタート: Visual Studio Code を使用して Azure に Java 関数を作成する
- クイックスタート: Visual Studio Code を使用して Azure に JavaScript 関数を作成する
- クイックスタート: Visual Studio Code を使用して Azure で PowerShell 関数を作成する
- クイック スタート: Visual Studio Code を使用して Azure に Python 関数を作成する
- クイック スタート: Visual Studio Code を使用して Azure に TypeScript 関数を作成する
Visual Studio から関数を展開する
ソリューション内の配置テンプレートでは、azuredeploy.json ファイル内の変数によって指定されている Git リポジトリから、ソリューション内に存在する任意の Azure 関数を配置できます。 ソリューションで Functions プロジェクトを作成する場合は、そのプロジェクトを Git ソース管理 (GitHub や Azure DevOps など) にチェックインしてから、テンプレートによって Azure 関数が配置されるように repo
ファイル内の repo
変数を更新できます。
ロジック アプリを管理して実行履歴を表示する
ロジック アプリ リソースが既に Azure に配置されている場合は、これらのアプリを Visual Studio から編集または管理したり、実行履歴を表示したり、無効にしたりすることができます。 詳細については、「Visual Studio でロジック アプリを管理する」を確認してください。
次のステップ
- Azure Logic Apps と Azure Functions を使用した別の例については、「チュートリアル: Azure Logic Apps、Azure Functions、Azure Storage を使用してメール処理のタスクを自動化する」を試してください。