Udostępnij za pośrednictwem


Zastępowanie dokumentu

Usługa Azure Cosmos DB to usługa globalnie dystrybuowanej, wielomodelowej bazy danych z obsługą wielu interfejsów API. W tym artykule omówiono interfejs API SQL dla usługi Azure Cosmos DB.

Operacja Replace Document zastępuje całą zawartość dokumentu.

Żądanie

Metoda Identyfikator URI żądania Opis
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} Pamiętaj, że {databaseaccount} jest nazwą konta usługi Cosmos DB utworzonego w ramach subskrypcji. Wartość {db-id} to wygenerowana przez użytkownika nazwa/identyfikator bazy danych, a nie identyfikator wygenerowany przez system (rid). Wartość {coll-id} jest nazwą kolekcji. Wartość {doc-id} jest identyfikatorem dokumentu, który ma zostać zamieniony.

Nagłówki

Zobacz Typowe nagłówki żądań REST usługi Azure Cosmos DB dla nagłówków , które są używane przez wszystkie żądania usługi Cosmos DB. Ważne nagłówki dla tego żądania to:

Nagłówek Wymagany Typ Opis
x-ms-indexing-directive Opcjonalne Ciąg Dopuszczalne wartości to Uwzględnij lub Wyklucz. Uwzględnij dokument w ścieżce indeksowania, a pozycja Wyklucz pomija dokument z indeksowania.
x-ms-documentdb-partitionkey Opcjonalne Tablica Wartość klucza partycji do usunięcia dokumentu. Wymagane, jeśli element i musi być określony tylko wtedy, gdy kolekcja jest tworzona z definicją partitionKey .
Dopasowanie warunkowe Opcjonalne Ciąg Służy do warunkowego wykonywania operacji na potrzeby optymistycznej współbieżności. Oznacza to, że dokument jest aktualizowany tylko wtedy, gdy określony element etag jest zgodny z bieżącą wersją w bazie danych. Wartość powinna być ustawiona na wartość etag zasobu.

Treść

Właściwość Wymagany Typ Opis
id Wymagane Ciąg Jest to właściwość ustawiana przez użytkownika. Jest to unikatowa nazwa identyfikująca dokument, czyli żadne dwa dokumenty nie powinny mieć tego samego identyfikatora. Identyfikator nie może przekraczać 255 znaków.
<custom> Wymagane JSON Dowolny plik JSON zdefiniowany przez użytkownika.
{  
  "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"  
}  
  

Reakcja

Funkcja Zastąp dokument zwraca zaktualizowaną treść dokumentu.

Nagłówki

Zobacz Typowe nagłówki odpowiedzi REST usługi Azure Cosmos DB dla nagłówków zwracanych przez wszystkie odpowiedzi usługi Cosmos DB. Ważne nagłówki odpowiedzi dotyczące zastępowania dokumentu są następujące:

Nagłówek Typ Opis
x-ms-request-charge Liczba Liczba jednostek żądań używanych przez operację.
x-ms-session-token Ciąg Token ciągu używany ze spójnością na poziomie sesji. Klienci muszą zapisać tę wartość i ustawić ją dla kolejnych żądań odczytu na potrzeby spójności sesji.

Kody stanu

W poniższej tabeli wymieniono typowe kody stanu zwracane przez tę operację. Aby uzyskać pełną listę kodów stanu, zobacz Kody stanu HTTP.

Kod stanu HTTP Opis
200 OK Operacja zakończyła się pomyślnie.
400 Nieprawidłowe żądanie Treść JSON jest nieprawidłowa. Sprawdź brak nawiasów klamrowych lub cudzysłowów.
404 — Nie znaleziono Dokument już nie istnieje, tj. dokument został usunięty.
409 Konflikt Identyfikator podany dla nowego dokumentu został pobrany przez istniejący dokument.
413 Jednostka jest za duża Rozmiar dokumentu w żądaniu przekroczył dozwolony rozmiar dokumentu w żądaniu.

Treść

Właściwość Opis
_Rid Jest to właściwość wygenerowana przez system. Identyfikator zasobu (_rid) jest unikatowym identyfikatorem, który jest również hierarchiczny dla stosu zasobów w modelu zasobów. Jest on używany wewnętrznie do umieszczania zasobu dokumentu i nawigacji po nim.
_Ts Jest to właściwość wygenerowana przez system. Określa ostatni zaktualizowany znacznik czasu zasobu. Wartość jest znacznikiem czasu.
_Własny Jest to właściwość wygenerowana przez system. Jest to unikatowy adresowy identyfikator URI zasobu.
_Etag Jest to właściwość wygenerowana przez system, która określa tag zasobu wymagany do optymistycznej kontroli współbieżności.
_Załączniki Jest to właściwość wygenerowana przez system, która określa ścieżkę adresową zasobu załączników.
{  
  "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"  
}  
  

Przykład

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

Zobacz też