取代預存程式

在特定預存程式資源上執行 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\""  
}  
  

另請參閱