Patchen 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 Patch Document
Vorgang führt Aktualisierungen auf Pfadebene für bestimmte Dateien/Eigenschaften in einem einzelnen Dokument durch.
Anforderung
Methode | Anforderungs-URI | BESCHREIBUNG |
---|---|---|
PATCH | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{id} | {databaseaccount} ist der Name des Azure Cosmos DB-Kontos, 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 (los). Der Wert {coll-id} ist der Name der Auflistung, die das Dokument enthält. Die ID ist der Wert der {id} im Dokument. |
Header
Informationen zu Headern, die von allen Azure Cosmos DB-Anforderungen verwendet werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Anforderungsheader .
Header | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
x-ms-documentdb-partitionkey | Optional | Array | Der Partitionsschlüsselwert für das zu patchende Dokument. Muss nur enthalten sein, wenn die Auflistung mit einer partitionKey-Definition erstellt wird. |
Body
Eigenschaft | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
operations | Erforderlich | Array | Patch unterstützt entweder einzelne oder mehrere Vorgänge, die als Array übergeben werden sollen. |
Einzelner Vorgang
{
"operations": [
{
"op": "set",
"path": "/Parents/0/FamilyName",
"value": "Bob"
}
]
}
Mehrere Vorgänge
{
"operations":[
{
"op":"add",
"path":"/Parents/0/ZipCode",
"value":80000
},
{
"op": "set",
"path": "/Parents/0/FamilyName",
"value": "Bob"
}
]
}
Bedingter Patchvorgang
{
"condition":"from c where c.Address.ZipCode ='98101' ",
"operations":[
{
"op":"replace",
"path":"/Address/ZipCode",
"value":98107
}
]
}
Antwort
Gibt den Text des gepatchten Dokuments zurück.
Header
Informationen zu Headern, die von allen Azure Cosmos DB-Antworten zurückgegeben werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Antwortheader .
Eigenschaft | 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 für nachfolgende Leseanforderungen zur Sitzungskonsistenz festlegen. |
Content-Location | String | URL des übergebenen Patchinhalts. |
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. |
412 Precondition Failed | Die angegebene Voraussetzung ist nicht erfüllt. |
Body
Eigenschaft | BESCHREIBUNG |
---|---|
_los | Es handelt sich um eine vom System generierte Eigenschaft. Die Ressourcen-ID (_rid) ist ein eindeutiger Bezeichner, der auch je nach 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, die über einen URI für die Ressource verfügt. |
_Etag | Es handelt sich um eine vom System generierte Eigenschaft, die das Ressourcen-Etag angibt, das für die Kontrolle 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": "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
}
Beispiel
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
}