Megosztás a következőn keresztül:


Dokumentum cseréje

Az Azure Cosmos DB egy globálisan elosztott, többmodelles adatbázis, amely számos API-t támogat. Ez a cikk az Azure Cosmos DB SQL API-jával foglalkozik.

A Replace Document művelet egy dokumentum teljes tartalmát lecseréli.

Kérés

Metódus Kérés URI-ja Description
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} Vegye figyelembe, hogy a(z) {databaseaccount} az előfizetése alatt létrehozott Cosmos DB-fiók neve. A(z) {db-id} érték az adatbázis felhasználó által létrehozott neve/azonosítója, nem pedig a rendszer által létrehozott azonosító (rid). A(z) {coll-id} érték a gyűjtemény neve. A (z) {doc-id} érték a lecserélendő dokumentum azonosítója.

Fejlécek

Az összes Cosmos DB-kérés által használt fejlécekhez tekintse meg az Azure Cosmos DB REST-kérések gyakori fejléceit . A kérés fontos fejlécei a következők:

Fejléc Kötelező Típus Description
x-ms-indexelés-direktíva Választható Sztring Az elfogadható értékek: Belefoglalás vagy Kizárás. Belefoglalja a dokumentumot az indexelési útvonalba, míg a Kizárás kihagyja a dokumentumot az indexelésből.
x-ms-documentdb-partitionkey Választható Tömb A törölni kívánt dokumentum partíciókulcs-értéke. Kötelező, ha és csak akkor kell megadni, ha a gyűjtemény partíciókulcs-definícióval van létrehozva.
Ha-egyezés Választható Sztring A művelet optimista egyidejűséghez való feltételessé tétele. Vagyis a dokumentum csak akkor frissül, ha a megadott etag megegyezik az adatbázis aktuális verziójával. Az értéket az erőforrás etag értékére kell állítani.

Törzs

Tulajdonság Kötelező Típus Description
id Kötelező Sztring Ez egy felhasználó által beállított tábla tulajdonság. Ez egy egyedi név egy dokumentum azonosításához, azaz két dokumentumnak nem szabad ugyanazt az azonosítót megosztania. Az azonosító nem haladhatja meg a 255 karaktert.
<egyéni> Kötelező JSON Bármely felhasználó által definiált 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"  
}  
  

Reagálás

A Dokumentum cseréje a frissített dokumentumtörzset adja vissza.

Fejlécek

Az összes Cosmos DB-válasz által visszaadott fejlécekhez tekintse meg az Azure Cosmos DB REST-válaszfejléceit . A Dokumentum cseréje fontos válaszfejlécei a következők:

Fejléc Típus Description
x-ms-request-charge Szám A művelet által felhasznált kérelemegységek száma.
x-ms-session-token Sztring Munkamenetszintű konzisztenciával használt sztring-jogkivonat. Az ügyfeleknek menteniük kell ezt az értéket, és be kell állítaniuk a munkamenet-konzisztencia későbbi olvasási kéréseihez.

Állapotkódok

Az alábbi táblázat a művelet által visszaadott gyakori állapotkódokat sorolja fel. Az állapotkódok teljes listáját lásd: HTTP-állapotkódok.

HTTP-állapotkód Leírás
200 Ok A művelet sikeres volt.
400 Hibás kérelem A JSON-törzs érvénytelen. Ellenőrizze, hogy hiányoznak-e kapcsos zárójelek vagy idézőjelek.
404 Nem található A dokumentum már nem létezik, azaz a dokumentum törölve lett.
409 Ütközés Az új dokumentumhoz megadott azonosítót egy meglévő dokumentum készítette.
413 Entitás túl nagy A kérelem dokumentummérete túllépte a kérelemben megengedett dokumentumméretet.

Törzs

Tulajdonság Leírás
_Megszabadulni Ez egy rendszer által létrehozott tulajdonság. Az erőforrás-azonosító (_rid) egy egyedi azonosító, amely az erőforrás-modell erőforrás-verménként is hierarchikus. A rendszer a dokumentum típusú erőforrás elhelyezésére és navigálására használja.
_Ts Ez egy rendszer által létrehozott tulajdonság. Meghatározza az erőforrás utolsó frissített időbélyegét. Az érték egy időbélyeg.
_Önálló Ez egy rendszer által létrehozott tulajdonság. Ez az erőforrás egyedi címezhető URI-ja.
_Etag Ez egy rendszer által létrehozott tulajdonság, amely meghatározza az optimista egyidejűség-vezérléshez szükséges erőforrás-etaget .
_Mellékletek Ez egy rendszer által létrehozott tulajdonság, amely meghatározza a mellékletek erőforrásának címezhető elérési útját.
{  
  "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"  
}  
  

Példa

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"  
}  
  

Lásd még: