ユーザー定義関数
Azure Cosmos DB は、ドキュメント、グラフ、キー値のデータ モデルをサポートするグローバルに分散されたマルチモデル データベースです。 このセクションの内容は、REST を介して SQL API を使用してユーザー定義関数リソース (udfs) を管理するための内容です。
ユーザー定義関数 (UDF) は、JavaScript で記述された副作用のないアプリケーション ロジックです。 これにより、開発者はクエリ演算子を構築できるため、Cosmos DB クエリ言語のコアを拡張できます。 UDF はストアド プロシージャのようにコレクション内部に存在するため、アプリケーション ロジックはそのコレクション内に制限されています。
ストアド プロシージャと同様、UDF リソースは固定スキーマを持ちます。 body プロパティに、アプリケーション ロジックが含まれています。 次の例は、ユーザー定義関数の JSON コンストラクトを示しています。
{
"id":"simpleTaxUDF",
"body": "
function tax(income) {
if(income == undefined)
throw 'no input';
if (income < 1000)
return income * 0.1;
else if (income < 10000)
return income * 0.2;
else
return income * 0.4;
}
",
"_rid":"hLEEAI1YjgcBAAAAAAAAgA==",
"_ts":1408058682,
"_self":"dbs\/hLEEAA==\/colls\/hLEEAI1Yjgc=\/udfs\/hLEEAI1YjgcBAAAAAAAAgA==\/",
"_etag":"00004100-0000-0000-0000-53ed453a0000"
}
プロパティ | 説明 |
---|---|
id | 必須。 これはユーザー設定可能なプロパティです。 これは UDF を識別する一意の名前です。 ID は 255 文字以内にする必要があります。 |
body | 必須。 これはユーザー設定可能なプロパティです。 これは UDF の本体です。 |
_解消 | これは、システムによって生成されるプロパティです。 リソース ID (_rid) は、リソース モデルのリソース スタックごとに階層化される一意識別子です。 UDF リソースの配置およびナビゲーションのために内部的に使用されます。 |
_Ts | これは、システムによって生成されるプロパティです。 リソースの最終更新タイムスタンプを示します。 値は、タイムスタンプです。 |
_自己 | これは、システムによって生成されるプロパティです。 リソースの一意のアドレス指定が可能な URI です。 |
_Etag | これは、オプティミスティック コンカレンシー制御に必要なリソース etag を指定するシステム生成プロパティです。 |
タスク
ユーザー定義関数を使用して、次の操作を行うことができます。
UDF の動作 (クエリでの UDF の実行など) の詳細については、「 Cosmos DB プログラミング: ストアド プロシージャ、トリガー、UDF」を参照してください。