Sdílet prostřednictvím


Nahrazení dokumentu

Azure Cosmos DB je globálně distribuovaná databáze pro více modelů s podporou několika rozhraní API. Tento článek se věnuje rozhraní SQL API pro službu Azure Cosmos DB.

Operace Replace Document nahradí celý obsah dokumentu.

Žádost

Metoda Identifikátor URI žádosti Description
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{id_coll}/docs/{doc-id} Všimněte si, že {databaseaccount} je název účtu služby Cosmos DB vytvořeného v rámci vašeho předplatného. Hodnota {db-id} je uživatelem vygenerované jméno nebo ID databáze, nikoli systémově vygenerované ID (RID). Hodnota {coll-id} je název kolekce. Hodnota {doc-id} je ID dokumentu, který se má nahradit.

Hlavičky

Viz Běžné hlavičky požadavků REST služby Azure Cosmos DB pro hlavičky, které používají všechny požadavky služby Cosmos DB. Důležité hlavičky pro tento požadavek jsou:

Hlavička Požaduje se Typ Description
x-ms-indexing-direktiva Volitelné Řetězec Přijatelné hodnoty jsou Zahrnout nebo Vyloučit. Zahrnout zahrne dokument do cesty indexování, zatímco funkce Vyloučit vynechá dokument z indexování.
x-ms-documentdb-partitionkey Volitelné Pole Hodnota klíče oddílu pro dokument, který se má odstranit. Vyžaduje se, pokud a musí být zadán pouze v případě, že je kolekce vytvořena s definicí partitionKey .
If-Match Volitelné Řetězec Používá se k podmínce operace pro optimistickou souběžnost. To znamená, že dokument se aktualizuje pouze v případě, že zadaná značka etag odpovídá aktuální verzi v databázi. Hodnota by měla být nastavená na hodnotu značky prostředku.

Text

Vlastnost Požaduje se Typ Description
id Vyžadováno Řetězec Jedná se o uživatelskou nastavitelnou vlastnost. Jedná se o jedinečný název pro identifikaci dokumentu, to znamená, že žádné dva dokumenty by neměly sdílet stejné ID. ID nesmí být delší než 255 znaků.
<custom> Vyžadováno JSON Libovolný soubor JSON definovaný uživatelem.
{  
  "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"  
}  
  

Odpověď

Funkce Nahradit dokument vrátí aktualizovaný text dokumentu.

Hlavičky

Viz Běžné hlavičky odpovědi REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby Cosmos DB. Důležité hlavičky odpovědi pro Nahrazení dokumentu jsou následující:

Hlavička Typ Description
x-ms-request-charge Číslo Počet jednotek požadavků spotřebovaných operací.
x-ms-session-token Řetězec Token řetězce používaný s konzistencí na úrovni relace. Klienti musí tuto hodnotu uložit a nastavit ji pro následné žádosti o čtení kvůli konzistenci relací.

Stavové kódy

Následující tabulka uvádí běžné stavové kódy vrácené touto operací. Úplný seznam stavových kódů najdete v tématu Stavové kódy HTTP.

Stavový kód HTTP Popis
200 Ok Operace byla úspěšná.
400 – Chybný požadavek Text JSON je neplatný. Zkontrolujte, jestli nechybí složené závorky nebo uvozovky.
404 Nenalezeno Dokument již neexistuje, tj. dokument byl odstraněn.
409 – Konflikt ID zadané pro nový dokument bylo převzato existujícím dokumentem.
413 – Příliš velká entita Velikost dokumentu v požadavku překročila povolenou velikost dokumentu v požadavku.

Text

Vlastnost Popis
_Zbavit Jedná se o systém vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Používá se interně pro umístění a navigaci v tomto prostředku dokumentu.
_Ts Jedná se o systém vygenerovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko.
_Vlastní Jedná se o systém vygenerovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku.
_Etag Jedná se o systémem vygenerovanou vlastnost, která určuje etag prostředku vyžadovanou pro optimistické řízení souběžnosti.
_Přílohy Jedná se o systémem vygenerovanou vlastnost, která určuje adresovatelnou cestu pro prostředek příloh.
{  
  "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říklad

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

Viz také