取代文件
Azure Cosmos DB 是全域散發的多模型資料庫,並可支援多個 API。 本文涵蓋適用於 Azure Cosmos DB 的 SQL API。
作業 Replace Document
會取代檔的整個內容。
要求
方法 | 要求 URI | Description |
---|---|---|
PUT | HTTPs://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} | 請注意,{databaseaccount} 是您訂用帳戶下建立的 Cosmos DB 帳戶名稱。 {db-id} 值是使用者產生的資料庫名稱/識別碼,而不是系統產生的識別碼 (rid) 。 {coll-id} 值是集合的名稱。 {doc-id} 值是要取代的檔識別碼。 |
標題
如需所有 Cosmos DB 要求所使用的標頭,請參閱 常見的 Azure Cosmos DB REST 要求標頭 。 此要求的重要標頭如下:
標頭 | 必要 | 類型 | Description |
---|---|---|---|
x-ms-indexing-directive | 選用 | String | 可接受的值為 Include 或 Exclude。 包含 索引路徑中的檔,而 Exclude 會省略檔的索引編制。 |
x-ms-documentdb-partitionkey | 選擇性 | Array | 要刪除之檔的分割區索引鍵值。 只有在使用 partitionKey 定義建立集合時,才需要和 。 |
If-Match | 選用 | String | 用來設定開放式平行存取的條件式作業。 也就是說,只有當指定的 etag 符合資料庫中的目前版本時,才會更新檔。 此值應該設定為資源的 etag 值。 |
主體
屬性 | 必要 | 類型 | 描述 |
---|---|---|---|
id | 必要 | String | 它是使用者可設定的屬性。 這是用來識別檔的唯一名稱,也就是說,不應該有兩份檔共用相同的 識別碼。 識別碼不能超過 255 個字元。 |
<custom> | 必要 | JSON | 任何使用者定義的 JSON。 |
{
"id": "_SalesOrder5",
"AccountNumber": "NewUser01",
"PurchaseOrderNumber": "PO18009186470",
"OrderDate": "2016-03-29T02:03:07.3526153Z",
"Total": 5.95,
"_rid": "d9RzAJRFKgwEAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",
"_etag": "\"0000de86-0000-0000-0000-56f9e25c0000\"",
"_ts": 1459216988,
"_attachments": "attachments/",
"shippedDate": "2016-03-29T02:03:07.4680723Z",
"foo": "bar"
}
回應
取代檔會傳回更新的檔本文。
標題
如需所有 Cosmos DB 回應所傳回的標頭,請參閱 常見的 Azure Cosmos DB REST 回應標頭 。 取代檔的重要回應標頭如下:
標頭 | 類型 | Description |
---|---|---|
x-ms-request-charge | 數字 | 作業所耗用的要求單位數目。 |
x-ms-session-token | String | 與會話層級一致性搭配使用的字串權杖。 用戶端必須儲存此值,並針對會話一致性的後續讀取要求進行設定。 |
狀態碼
下表列出此作業所傳回的常見狀態碼。 如需狀態碼的完整清單,請參閱 HTTP 狀態碼。
HTTP 狀態碼 | Description |
---|---|
200 確定 | 作業成功。 |
400 不正確的要求 | JSON 內文無效。 檢查是否缺少大括號或引號。 |
404 找不到 | 文件不存在,例如文件已刪除。 |
409 衝突 | 提供給新資料庫的識別碼已由現有資料庫採用。 |
413 實體過大 | 要求中的文件大小已超過要求中允許的文件大小。 |
主體
屬性 | Description |
---|---|
_擺脫 | 這是 系統產生的屬性。 資源識別碼 (_rid) 是資源模型上每個資源堆疊也是階層式的唯一識別碼。 它是在內部用來放置和導覽文件資源。 |
_Ts | 這是系統產生的屬性。 代表資源的上次更新時間戳記。 值為時間戳記。 |
_自我 | 這是系統產生的屬性。 代表資源的唯一可定址 URI。 |
_Etag | 它是系統產生的屬性,指定開放式並行控制所需的資源 etag 。 |
_附件 | 它是系統產生的屬性,指定附件資源的可定址路徑。 |
{
"id": "_SalesOrder5",
"AccountNumber": "NewUser01",
"PurchaseOrderNumber": "PO18009186470",
"OrderDate": "2016-03-29T02:03:07.3526153Z",
"Total": 5.95,
"_rid": "d9RzAJRFKgwEAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",
"_etag": "\"0000df86-0000-0000-0000-56f9e25c0000\"",
"_ts": 1459216988,
"_attachments": "attachments/",
"shippedDate": "2016-03-29T02:03:07.4680723Z",
"foo": "bar"
}
範例
PUT https://querydemo.documents.azure.com/dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA== HTTP/1.1
x-ms-documentdb-partitionkey: []
x-ms-date: Tue, 29 Mar 2016 02:03:07 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dP7DBdb6lXOnL55kXRL2L%2frt3PE8kybJCIT%2ffViY7UhU%3d
Cache-Control: no-cache
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0
x-ms-version: 2015-12-16
Accept: application/json
Host: querydemo.documents.azure.com
Cookie: x-ms-session-token#0=777; x-ms-session-token=777
Content-Length: 405
Expect: 100-continue
{
"id": "_SalesOrder5",
"AccountNumber": "NewUser01",
"PurchaseOrderNumber": "PO18009186470",
"OrderDate": "2016-03-29T02:03:07.3526153Z",
"Total": 5.95,
"_rid": "d9RzAJRFKgwEAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",
"_etag": "\"0000de86-0000-0000-0000-56f9e25c0000\"",
"_ts": 1459216988,
"_attachments": "attachments/",
"shippedDate": "2016-03-29T02:03:07.4680723Z",
"foo": "bar"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Content-Location: https://querydemo.documents.azure.com/dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Fri, 25 Mar 2016 21:55:47.482 GMT
etag: "0000df86-0000-0000-0000-56f9e25c0000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=3;collectionSize=3;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb/colls/testcoll
x-ms-quorum-acked-lsn: 777
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 10.67
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: a86cddb9-75f6-423e-8d42-f6b5ac817209
x-ms-session-token: 0:778
Set-Cookie: x-ms-session-token#0=778; Domain=querydemo.documents.azure.com; Path=/dbs/d9RzAA==/colls/d9RzAJRFKgw=
Set-Cookie: x-ms-session-token=778; Domain=querydemo.documents.azure.com; Path=/dbs/d9RzAA==/colls/d9RzAJRFKgw=
x-ms-gatewayversion: version=1.6.52.5
Date: Tue, 29 Mar 2016 02:03:07 GMT
{
"id": "_SalesOrder5",
"AccountNumber": "NewUser01",
"PurchaseOrderNumber": "PO18009186470",
"OrderDate": "2016-03-29T02:03:07.3526153Z",
"Total": 5.95,
"_rid": "d9RzAJRFKgwEAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",
"_etag": "\"0000df86-0000-0000-0000-56f9e25c0000\"",
"_ts": 1459216988,
"_attachments": "attachments/",
"shippedDate": "2016-03-29T02:03:07.4680723Z",
"foo": "bar"
}