カスタム リソース プロバイダーは、Azure とエンドポイントの間のコントラクトです。 カスタム リソース プロバイダーを使って、Azure のワークフローを変更できます。 このチュートリアルでは、カスタム リソース プロバイダーのエンドポイントとして機能するように Azure Functions の関数アプリを設定する方法について説明します。
Function App の作成
注意
このチュートリアルでは、Azure Functions の関数アプリを使用するシンプルなサービス エンドポイントを作成します。 ただしカスタム リソース プロバイダーは、パブリックにアクセスできる任意のエンドポイントを使用できます。 その代替候補としては、Azure Logic Apps や Azure API Management、Azure App Service の Web Apps 機能などが挙げられます。
このチュートリアルを始めるには、まず、Azure portal で初めての関数アプリを作成するチュートリアルを先に行う必要があります。 そのチュートリアルでは、Azure portal で変更可能な .NET Core の Webhook 関数を作成します。 このチュートリアルの土台にもなっているチュートリアルです。
Azure Table Storage のバインディングをインストールする
Azure Table Storage のバインディングをインストールするには、次の手順に従います。
-
HttpTrigger
の [統合] タブに移動します。 - [+ 新しい入力] を選択します。
- [Azure Table Storage] を選択します。
-
Microsoft.Azure.WebJobs.Extensions.Storage
拡張機能がインストールされていない場合はインストールします。 - [テーブル パラメーター名] ボックスに「tableStorage」と入力します。
- [テーブル名] ボックスに「myCustomResources」と入力します。
- [保存] を選択して、更新した入力パラメーターを保存します。
RESTful HTTP メソッドを更新する
カスタム リソース プロバイダーの RESTful 要求メソッドを含むように Azure 関数を設定するには、次の手順に従います。
-
HttpTrigger
の [統合] タブに移動します。 - [選択した HTTP メソッド] で、[GET]、[POST]、[DELETE]、[PUT] を選択します。
Azure Resource Manager NuGet パッケージを追加する
注意
C# プロジェクト ファイルがプロジェクト ディレクトリにない場合、手動で追加できます。あるいは、Microsoft.Azure.WebJobs.Extensions.Storage
拡張が関数アプリにインストールされた後に表示されます。
次に、有用な NuGet ライブラリをインクルードするように C# プロジェクト ファイルを更新します。 これらのライブラリによって、カスタム リソース プロバイダーからの受信要求が解析しやすくなります。 ポータルからの拡張機能の追加に関する記事の手順に従い、次のパッケージ参照をインクルードするように C# プロジェクト ファイルを更新します。
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="3.0.4" />
<PackageReference Include="Microsoft.Azure.Management.ResourceManager.Fluent" Version="1.22.2" />
<PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.1.*" />
次の XML 要素は C# プロジェクト ファイルの例です。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<WarningsAsErrors />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="3.0.4" />
<PackageReference Include="Microsoft.Azure.Management.ResourceManager.Fluent" Version="1.22.2" />
<PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.1.*" />
</ItemGroup>
</Project>
次のステップ
このチュートリアルでは、Azure カスタム リソース プロバイダーのエンドポイントとして機能するように Azure Functions の関数アプリを設定しました。
RESTful カスタム リソース プロバイダー エンドポイントを作成する方法については、「カスタム リソース プロバイダー用の RESTful エンドポイントを作成する」を参照してください。