ユーザー定義関数を置き換える
特定の UDF リソースに対して PUT 操作を実行すると、UDF リソース全体が置き換えられます。 ID と本文を含むすべてのユーザー設定可能なプロパティは、本文で送信して置換を実行する必要があります。
Request
Method | 要求 URI | 説明 |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/udfs/{udf-name} |
{databaseaccount} は、サブスクリプションの下に作成された Azure Cosmos DB アカウントの名前です。 {db-id} 値は、UDF が置き換えられるデータベースのユーザー生成名/ID であり、データベースのシステム生成 ID (rid) ではありません。 {coll-id} 値は、UDF が置き換えられるコレクションの名前です。 {udf-name} 値は、置換する UDF の名前です。 |
ヘッダー
すべての Cosmos DB 要求 で使用されるヘッダーについては、「共通の Azure Cosmos DB REST 要求ヘッダー」を参照してください。
Body
プロパティ | 必須 | Type | 説明 |
---|---|---|---|
id | 必須 | String | これは UDF を識別する一意の名前です。 ID は 255 文字以内にする必要があります。 |
body | 必須 | String | これは UDF の本体です。 |
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF"
}
[応答]
ヘッダー
すべての Cosmos DB 応答によって返されるヘッダーについては、「 共通の Azure Cosmos DB REST 応答ヘッダー 」を参照してください。
状態コード
次の表に、この操作で返される一般的なステータス コードを示します。 状態コードの完全な一覧については、「 HTTP 状態コード」を参照してください。
HTTP 状態コード | 説明 |
---|---|
200 Ok | 置換操作は成功しました。 |
400 Bad Request | JSON の本文が無効です。 中かっこや引用符の不足がないか確認してください。 |
404 見つかりません | 置き換えられる UDF はリソースではなく、つまり UDF が削除されました。 |
409 競合 | UDF に指定された ID は、既存の UDF によって取得されています。 |
Body
プロパティ | Description |
---|---|
_解消 | これは、システムによって生成されるプロパティです。 リソース ID (_rid) は、リソース モデルのリソース スタックごとに階層化される一意識別子です。 UDF リソースの配置およびナビゲーションのために内部的に使用されます。 |
_Ts | これは、システムによって生成されるプロパティです。 リソースの最終更新タイムスタンプを示します。 値は、タイムスタンプです。 |
_自己 | これは、システムによって生成されるプロパティです。 リソースの一意のアドレス指定が可能な URI です。 |
_Etag | これは、オプティミスティック コンカレンシー制御に必要なリソース etag を指定するシステム生成プロパティです。 |
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF",
"_rid": "Sl8fALN4sw4BAAAAAAAAYA==",
"_ts": 1449687949,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",
"_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""
}
例
PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs/simpleTaxUDF HTTP/1.1
x-ms-session-token: 38
x-ms-date: Wed, 09 Dec 2015 19:11:33 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d61JdqPLJi6nMRA0uI2lqFE9kUlgNq5EN1xo0zRlDpbw%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Cookie: x-ms-session-token=38
Content-Length: 446
Expect: 100-continue
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs/simpleTaxUDF
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT
etag: "060072e4-0000-0000-0000-56687ce50000"
x-ms-resource-quota: functions=25;
x-ms-resource-usage: functions=1;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1
x-ms-content-path: Sl8fALN4sw4=
x-ms-quorum-acked-lsn: 38
x-ms-session-token: 39
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: db26233c-a794-4afa-bcec-f136ffb473d9
Set-Cookie: x-ms-session-token=39; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1
x-ms-gatewayversion: version=1.5.57.3
Date: Wed, 09 Dec 2015 19:11:34 GMT
Content-Length: 468
{
"body": "function tax(income) {\r\n if(income == undefined) \r\n throw 'no input';\r\n if (income < 1000) \r\n return income * 0.1;\r\n else if (income < 10000) \r\n return income * 0.2;\r\n else\r\n return income * 0.4;\r\n}",
"id": "simpleTaxUDF",
"_rid": "Sl8fALN4sw4BAAAAAAAAYA==",
"_ts": 1449687949,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",
"_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""
}