Ersetzen eines Dokuments

Azure Cosmos DB ist eine global verteilte Mehrmodelldatenbank mit Unterstützung für mehrere APIs. Dieser Artikel enthält Informationen zur SQL-API für Azure Cosmos DB.

Der Replace Document Vorgang ersetzt den gesamten Inhalt eines Dokuments.

Anforderung

Methode Anforderungs-URI BESCHREIBUNG
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} Beachten Sie, dass {databaseaccount} der Name des Cosmos DB-Kontos ist, das unter Ihrem Abonnement erstellt wurde. Der Wert {db-id} ist der vom Benutzer generierte Name/die ID der Datenbank, nicht die vom System generierte ID (rid). Der Wert {coll-id} ist der Name der Auflistung. Der Wert {doc-id} ist die ID des zu ersetzenden Dokuments.

Header

Informationen zu Headern, die von allen Cosmos DB-Anforderungen verwendet werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Anforderungsheader . Die wichtigsten Header für diese Anforderung sind:

Header Erforderlich type BESCHREIBUNG
x-ms-indexing-directive Optional String Die zulässigen Werte sind Include oder Exclude. Include schließt das Dokument in den Indizierungspfad ein, während Exclude das Dokument von der Indizierung auslässt.
x-ms-documentdb-partitionkey Optional Array Der Partitionsschlüsselwert für das zu löschende Dokument. Erforderlich, wenn und nur angegeben werden dürfen, wenn die Auflistung mit einer partitionKey-Definition erstellt wird.
If-Match Optional String Wird verwendet, um den Vorgang für optimistische Parallelität bedingt zu machen. Das heißt, das Dokument wird nur aktualisiert, wenn das angegebene etag mit der aktuellen Version in der Datenbank übereinstimmt. Der Wert sollte auf den etag-Wert der Ressource festgelegt werden.

Body

Eigenschaft Erforderlich type BESCHREIBUNG
id Erforderlich String Es handelt sich um eine vom Benutzer festgelegte Eigenschaft. Es ist ein eindeutiger Name, um ein Dokument zu identifizieren, d. h., keine zwei Dokumente sollten dieselbe ID verwenden. Die ID darf 255 Zeichen nicht überschreiten.
<custom> Erforderlich JSON Beliebiger benutzerdefinierter JSON-Code.
{  
  "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"  
}  
  

Antwort

Dokument ersetzen gibt den aktualisierten Dokumenttext zurück.

Header

Informationen zu Headern, die von allen Cosmos DB-Antworten zurückgegeben werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Antwortheader . Die folgenden wichtigen Antwortheader für "Dokument ersetzen" sind:

Header type BESCHREIBUNG
x-ms-request-charge Number Die Anzahl der vom Vorgang verbrauchten Anforderungseinheiten.
x-ms-session-token String Ein Zeichenfolgentoken, das mit Konsistenz auf Sitzungsebene verwendet wird. Clients müssen diesen Wert speichern und ihn für nachfolgende Leseanforderungen zur Sitzungskonsistenz festlegen.

Statuscodes

In der folgenden Tabelle sind die allgemeinen Statuscodes aufgeführt, die von diesem Vorgang zurückgegeben werden. Eine vollständige Liste der status Codes finden Sie unter HTTP-Statuscodes.

HTTP-Statuscode BESCHREIBUNG
200 Ok Der Vorgang wurde durchgeführt.
400 – Ungültige Anforderung Der JSON-Text ist ungültig. Überprüfen Sie, ob geschweifte Klammern oder Anführungszeichen fehlen.
404 – Nicht gefunden Das Dokument ist nicht mehr vorhanden, d. h. es wurde gelöscht.
409 – Konflikt Die für das neue Dokument bereitgestellte ID wurde von einem vorhandenen Dokument übernommen.
413 Entity Too Large Die Dokumentgröße in der Anforderung überschreitet die in einer Anforderung zulässige Dokumentgröße.

Body

Eigenschaft BESCHREIBUNG
_los Es handelt sich um eine vom System generierte Eigenschaft. Die Ressourcen-ID (_rid) ist ein eindeutiger Bezeichner, der auch für den Ressourcenstapel im Ressourcenmodell hierarchisch ist. Sie wird intern für die Platzierung und Navigation der Dokumentressource verwendet.
_Ts Es handelt sich um eine vom System generierte Eigenschaft. Sie gibt den zuletzt aktualisierten Zeitstempel der Ressource an. Der Wert ist ein Zeitstempel.
_Selbst Es handelt sich um eine vom System generierte Eigenschaft. Es handelt sich um den eindeutigen, adressierbaren URI für die Ressource.
_Etag Es handelt sich um eine vom System generierte Eigenschaft, die das Ressourcen-Etag angibt, das für die Steuerung der optimistischen Parallelität erforderlich ist.
_Anlagen Es handelt sich um eine vom System generierte Eigenschaft, die den adressierbaren Pfad für die Anlageressource angibt.
{  
  "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"  
}  
  

Beispiel

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

Weitere Informationen