Belgeyi Değiştirme
Azure Cosmos DB birden çok API desteği olan global olarak dağıtılmış, çok modelli bir veritabanıdır. Bu makale Azure Cosmos DB için SQL API’sini kapsar.
İşlem, Replace Document
belgenin tüm içeriğinin yerini alır.
İstek
Yöntem | İstek URI'si | Description |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} | {databaseaccount}, aboneliğiniz altında oluşturulan Cosmos DB hesabının adıdır. {db-id} değeri, sistem tarafından oluşturulan kimlik (rid) değil, veritabanının kullanıcı tarafından oluşturulan adı/kimliğidir. {coll-id} değeri koleksiyonun adıdır. {doc-id} değeri değiştirilecek belgenin kimliğidir. |
Üst Bilgiler
Tüm Cosmos DB istekleri tarafından kullanılan üst bilgiler için bkz. Yaygın Azure Cosmos DB REST isteği üst bilgileri. Bu isteğin önemli üst bilgileri şunlardır:
Üst bilgi | Gerekli | Tür | Description |
---|---|---|---|
x-ms-indexing-yönergesi | İsteğe Bağlı | Dize | Kabul edilebilir değerler Dahil Et veya Dışla'dır. Dahil et , belgeyi dizin oluşturma yoluna eklerken Dışla seçeneği belgeyi dizine alma işlemini atlar. |
x-ms-documentdb-partitionkey | İsteğe Bağlı | Dizi | Silinecek belgenin bölüm anahtarı değeri. Gerekli ise ve yalnızca koleksiyon bir partitionKey tanımıyla oluşturulduysa belirtilmelidir. |
If-Match | İsteğe Bağlı | Dize | İşlemi iyimser eşzamanlılık için koşullu hale getirmek için kullanılır. Yani, belge yalnızca belirtilen etag veritabanındaki geçerli sürümle eşleşiyorsa güncelleştirilir. Değer, kaynağın etag değerine ayarlanmalıdır. |
Gövde
Özellik | Gerekli | Tür | Description |
---|---|---|---|
id | Gerekli | Dize | Bu bir kullanıcı ayarlanabilir özelliğidir. Bir belgeyi tanımlamak benzersiz bir addır, yani iki belge aynı kimliği paylaşmamalıdır. Kimlik 255 karakteri aşmamalıdır. |
<custom> | Gerekli | JSON | Kullanıcı tanımlı herhangi bir 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"
}
Yanıt
Belgeyi Değiştir, güncelleştirilmiş belge gövdesini döndürür.
Üst Bilgiler
Tüm Cosmos DB yanıtları tarafından döndürülen üst bilgiler için bkz. Genel Azure Cosmos DB REST yanıt üst bilgileri. Belgeyi Değiştir için önemli yanıt üst bilgileri şunlardır:
Üst bilgi | Tür | Description |
---|---|---|
x-ms-request-charge | Sayı | İşlem tarafından kullanılan istek birimi sayısı. |
x-ms-session-token | Dize | Oturum düzeyi tutarlılığı ile kullanılan dize belirteci. İstemcilerin bu değeri kaydetmesi ve oturum tutarlılığı için sonraki okuma istekleri için ayarlaması gerekir. |
Durum kodları
Aşağıdaki tabloda bu işlem tarafından döndürülen genel durum kodları listelenmektedir. Durum kodlarının tam listesi için bkz. HTTP Durum Kodları.
HTTP durum kodu | Açıklama |
---|---|
200 Tamam | İşlem başarılı oldu. |
400 Hatalı İstek | JSON gövdesi geçersiz. Eksik küme ayraçlarını veya tırnakları denetleyin. |
404 Bulunamadı | Belge artık yok, yani belge silindi. |
409 Çakışma | Yeni belge için sağlanan kimlik var olan bir belge tarafından alınmış. |
413 Varlık Çok Büyük | İstekteki belge boyutu, istekteki izin verilebilen belge boyutunu aştı. |
Gövde
Özellik | Açıklama |
---|---|
_Kurtulmak | Sistem tarafından oluşturulan bir özelliktir. Kaynak kimliği (_rid), kaynak modelinde kaynak yığını başına da hiyerarşik olan benzersiz bir tanımlayıcıdır. Belge kaynağının yerleştirilmesi ve gezinti için uygulama tarafından kullanılır. |
_Ts | Sistem tarafından oluşturulan bir özelliktir. Kaynağın son güncelleştirilmiş zaman damgasını belirtir. Değer bir zaman damgasıdır. |
_Kendini | Sistem tarafından oluşturulan bir özelliktir. Kaynak için benzersiz adreslenebilir URI'dir. |
_Etag | İyimser eşzamanlılık denetimi için gereken kaynak etiketini belirten sistem tarafından oluşturulan bir özelliktir. |
_Ekleri | Ekler kaynağı için adreslenebilir yolu belirten sistem tarafından oluşturulan bir özelliktir. |
{
"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"
}
Örnek
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"
}