取代預存程式
在特定預存程式資源上執行 PUT 作業會取代整個預存程式資源。 所有使用者可設定的屬性,包括識別碼和本文,都必須在本文中提交,才能執行取代。
要求
方法 | 要求 URI | Description |
---|---|---|
PUT | HTTPs://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/sprocs/{sproc-name} | {databaseaccount} 是您訂用帳戶下建立的 Azure Cosmos DB 帳戶名稱。 {db-id} 值是取代預存程式之資料庫的使用者產生名稱/識別碼,而不是系統產生的識別碼 (rid) 。 {coll-id} 值是取代預存程式之集合的名稱。 {sproc-name} 值是要取代的預存程式名稱。 |
標題
如需所有 Cosmos DB 要求所使用的標頭,請參閱 常見的 Azure Cosmos DB REST 要求標頭 。
主體
屬性 | 必要 | 類型 | 描述 |
---|---|---|---|
id | 必要 | String | 使用者為預存程式產生唯一的名稱。 沒有任何兩個預存程式可以有相同的識別碼。 它是不能超過 255 個字元的字串。 |
body | 必要 | String | 預存程式的主體。 |
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world"
}
回應
標題
如需所有 Cosmos DB 回應所傳回的標頭,請參閱 常見的 Azure Cosmos DB REST 回應標頭 。
狀態碼
下表列出此作業所傳回的常見狀態碼。 如需狀態碼的完整清單,請參閱 HTTP 狀態碼。
HTTP 狀態碼 | Description |
---|---|
200 確定 | 取代作業成功。 |
400 不正確的要求 | JSON 內文無效。 檢查是否缺少大括號或引號。 |
404 找不到 | 要取代的預存程式不再是資源,也就是已刪除預存程式。 |
409 衝突 | 現有預存程式已採用為預存程式提供的識別碼。 |
主體
屬性 | Description |
---|---|
_擺脫 | 這是系統產生的屬性。 資源識別碼 (_rid) 是資源模型上每個資源堆疊也是階層式的唯一識別碼。 供內部進行放置和導覽文件資源時使用。 |
_Ts | 這是系統產生的屬性。 代表資源的上次更新時間戳記。 值為時間戳記。 |
_自我 | 這是系統產生的屬性。 代表資源的唯一可定址 URI。 |
_Etag | 這是系統產生的屬性,代表開放式並行控制所需的資源 etag 。 |
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world",
"_rid": "Sl8fALN4sw4DAAAAAAAAgA==",
"_ts": 1449684031,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/sprocs\/Sl8fALN4sw4DAAAAAAAAgA==\/",
"_etag": "\"0600b5e2-0000-0000-0000-56686c3f0000\""
}
範例
PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/sprocs/sproc_hello_world HTTP/1.1
x-ms-session-token: 36
x-ms-date: Wed, 09 Dec 2015 18:00:31 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d7G0d%2b6neXwXcfD36WU4lUD97Gk7cgAbrs3iaTKgfd%2bM%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=36
Content-Length: 371
Expect: 100-continue
Connection: Keep-Alive
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world"
}
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/sprocs/sproc_hello_world
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: "0600b5e2-0000-0000-0000-56686c3f0000"
x-ms-resource-quota: storedProcedures=25;
x-ms-resource-usage: storedProcedures=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: 36
x-ms-session-token: 37
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: 1c4f917f-c34d-41c2-9874-851f033696b2
Set-Cookie: x-ms-session-token=37; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1
x-ms-gatewayversion: version=1.5.57.3
Date: Wed, 09 Dec 2015 18:00:32 GMT
Content-Length: 388
{
"body": "function (personToGreet) {\r\n var context = getContext();\r\n var response = context.getResponse();\r\n\r\n response.setBody(\"Hello, \" + personToGreet);\r\n}",
"id": "sproc_hello_world",
"_rid": "Sl8fALN4sw4DAAAAAAAAgA==",
"_ts": 1449684031,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/sprocs\/Sl8fALN4sw4DAAAAAAAAgA==\/",
"_etag": "\"0600b5e2-0000-0000-0000-56686c3f0000\""
}