Azure Functions 2.x 以降での Azure Cosmos DB のトリガーとバインドの概要
この一連の記事では、Azure Functions 2.x 以降で Azure Cosmos DB のバインドを操作する方法について説明します。 Azure Functions は、Azure Cosmos DB のトリガー、入力、出力のバインドをサポートしています。
アクション | Type |
---|---|
Azure Cosmos DB ドキュメントが作成または変更されたときに関数を実行する | トリガー |
Azure Cosmos DB ドキュメントを読み込む | 入力バインド |
Azure Cosmos DB ドキュメントに変更を保存する | 出力バインド |
Note
このリファレンスは、Azure Functions のバージョン 2.x 以降を対象としています。 Functions 1.x でこれらのバインドを使用する方法については、Azure Functions 1.x の Azure Cosmos DB のバインドに関するページを参照してください。
このバインドの元の名称は DocumentDB でした。 Azure Functions バージョン 2.x 以降では、トリガー、バインド、およびパッケージの名称はすべて、Azure Cosmos DB になっています。
サポート対象 API
Azure Cosmos DB のバインドは、Azure Cosmos DB for NoSQL で使用する場合にのみサポートされます。 Azure Cosmos DB for Table のサポートは、拡張機能 5.x 以降のテーブル ストレージのバインドを使用して提供されます。 他のすべての Azure Cosmos DB API については、Azure Cosmos DB for MongoDB、Azure Cosmos DB for Cassandra、Azure Cosmos DB for Apache Gremlin などの API 用の静的クライアントを使用して、関数からデータベースにアクセスする必要があります。
拡張機能のインストール
インストールする拡張機能 NuGet パッケージは、関数アプリで使用している C# モードによって異なります。
関数は Functions ホストと同じプロセスで実行されます。 詳細については、「Azure Functions を使用する C# クラス ライブラリ関数を開発する」を参照してください。
拡張機能をインストールするプロセスは、拡張機能のバージョンによって異なります。
トリガーやバインディングを操作するには、適切な NuGet パッケージを参照する必要があります。 [NuGet パッケージ] バージョン 3.x をインストールします。
バンドルのインストール
Azure Cosmos DB バインド拡張機能は、host.json プロジェクト ファイルで指定される拡張機能バンドルの一部です。 このバンドルは、バインドのバージョンを変更するために、またはバンドルがまだインストールされていない場合に変更が必要になることがあります。 詳細については、「拡張機能のバンドル」を参照してください。
拡張機能バンドルのバージョン 2.x または 3.x を登録すると、このバージョンの拡張機能を関数アプリにインストールできます。
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Azure Cosmos DB SDK でのスキーマ変更のため、Azure Cosmos DB 拡張機能のバージョン 4.x は現在、Java 関数ではサポートされていません。
このバージョンの拡張機能は、host.json
ファイルで次のコードを追加するか、または置き換えることによって、プレビュー拡張機能バンドル v4 から追加できます。
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.0.0, 5.0.0)"
}
}
詳細については、ユーザーの更新に関するページを参照してください。
例外とリターン コード
バインド | リファレンス |
---|---|
Azure Cosmos DB | Azure Cosmos DB の HTTP 状態コード |
host.json 設定
このセクションでは、バージョン 2.x 以降でこのバインドに使用可能な構成設定について説明します。 host.json ファイルの設定は、関数アプリ インスタンスのすべての関数に適用されます。 次の host.json ファイルの例には、このバインドのバージョン 2.x 以降の設定のみが含まれています。 バージョン 2.x 以降のバージョンでの関数アプリ構成設定の詳細については、「Azure Functions の host.json のリファレンス」を参照してください。
{
"version": "2.0",
"extensions": {
"cosmosDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
}
プロパティ | Default | 説明 |
---|---|---|
connectionMode | Gateway |
Azure Cosmos DB サービスに接続する際に関数で使用される接続モード。 オプションは Direct と Gateway です |
protocol | Https |
Azure Cosmos DB サービスに接続する際に関数で使用される接続プロトコル。 両方のモードの説明についてはこちらを参照してください |
leasePrefix | 該当なし | アプリ内のすべての関数で使用するプレフィックスをリースします。 |