Belgeye Düzeltme Eki Uygulama
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, Patch Document
tek bir belgedeki belirli dosyalara/özelliklere yönelik yol düzeyinde güncelleştirmeler yapar.
İstek
Yöntem | İstek URI'si | Description |
---|---|---|
YAMA | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{id} | {databaseaccount}, aboneliğiniz altında oluşturulan Azure 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, belgeyi içeren koleksiyonun adıdır. Kimlik, belgedeki {id} değerinin değeridir |
Üst Bilgiler
Tüm Azure Cosmos DB istekleri tarafından kullanılan üst bilgiler için bkz. Yaygın Azure Cosmos DB REST isteği üst bilgileri.
Üst bilgi | Gerekli | Tür | Description |
---|---|---|---|
x-ms-documentdb-partitionkey | İsteğe Bağlı | Dizi | Yama yapılacak belgenin bölüm anahtarı değeri. Yalnızca koleksiyon partitionKey tanımıyla oluşturulduysa dahil edilmelidir. |
Gövde
Özellik | Gerekli | Tür | Description |
---|---|---|---|
Işlem | Gerekli | Dizi | Patch, dizi olarak geçirilmesi gereken tek veya birden çok işlemi destekler |
Tek işlem
{
"operations": [
{
"op": "set",
"path": "/Parents/0/FamilyName",
"value": "Bob"
}
]
}
Birden çok işlem
{
"operations":[
{
"op":"add",
"path":"/Parents/0/ZipCode",
"value":80000
},
{
"op": "set",
"path": "/Parents/0/FamilyName",
"value": "Bob"
}
]
}
Koşullu Düzeltme Eki işlemi
{
"condition":"from c where c.Address.ZipCode ='98101' ",
"operations":[
{
"op":"replace",
"path":"/Address/ZipCode",
"value":98107
}
]
}
Yanıt
Yama yapılan belgenin gövdesini döndürür.
Üst Bilgiler
Tüm Azure Cosmos DB yanıtları tarafından döndürülen üst bilgiler için bkz. Genel Azure Cosmos DB REST yanıt üst bilgileri.
Özellik | 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. |
İçerik Konumu | Dize | Geçirilen düzeltme eki içeriğinin URL'si. |
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. |
412 Önkoşul Başarısız Oldu | Belirtilen ön koşul karşılanmadı |
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 | Kaynak için URI'ye sahip sistem tarafından oluşturulan bir özelliktir. |
_Etag | İyimser eşzamanlılık denetimi için gereken kaynak etag'ini belirten sistem tarafından oluşturulan bir özelliktir. |
_Ekleri | Ekler kaynağı için adreslenebilir yolu belirten sistem tarafından oluşturulan bir özelliktir. |
{
"id": "Andersen.1",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": "Bob",
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": false,
"_rid": "2pFqAMMTYY8BAAAAAAAAAA==",
"_self": "dbs/2pFqAA==/colls/2pFqAMMTYY8=/docs/2pFqAMMTYY8BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-d40e-691edfa901d7\"",
"_attachments": "attachments/",
"_ts": 1636313638
}
Örnek
PATCH https://querydemo.documents.azure.com/dbs/FamilyDatabase/colls/FamilyContainer/docs/Andersen.1 HTTP/1.1
x-ms-documentdb-partitionkey: ["Andersen"]
x-ms-date: Tue, 29 Mar 2016 02:28:29 GMT
Authorization: type%3dmaster%26ver%3d1.0%26sig%3d92WMAkQv0Zu35zpKZD%2bcGSH%2b2SXd8HGxHIvJgxhO6%2fs%3d
Content-Type:application/json_patch+json
Cache-Control: no-cache
User-Agent: Microsoft.Azure.DocumentDB/2.16.12
x-ms-version: 2015-12-16
Accept: application/json
Host: querydemo.documents.azure.com
Cookie: x-ms-session-token#0=602; x-ms-session-token=602
Content-Length: calculated when request is sent
Connection: keep-alive
{"operations":[{ "op" :"set", "path":"/Parents/0/FamilyName","value":"Bob" }]}
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/FamilyDatabase/colls/FamilyContainer/docs/Andersen.1
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:39:02.501 GMT
etag: "00003200-0000-0000-0000-56f9e84d0000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=1;collectionSize=1;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb/colls/testcoll
x-ms-quorum-acked-lsn: 602
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 12.38
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: 856acd38-320d-47df-ab6f-9761bb987668
x-ms-session-token: 0:603
Set-Cookie: x-ms-session-token#0=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=
Set-Cookie: x-ms-session-token=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=
x-ms-gatewayversion: version=1.6.52.5
Date: Tue, 29 Mar 2016 02:28:30 GMT
{
"id": "Andersen.1",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": "Bob",
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": false,
"_rid": "2pFqAMMTYY8BAAAAAAAAAA==",
"_self": "dbs/2pFqAA==/colls/2pFqAMMTYY8=/docs/2pFqAMMTYY8BAAAAAAAAAA==/",
"_etag": "\"00000000-0000-0000-d464-a585d94d01d7\"",
"_attachments": "attachments/",
"_ts": 1636350676
}