Dokument erstellen
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 Create Document
Vorgang erstellt ein neues Dokument in einer Auflistung.
Anforderung
Methode | Anforderungs-URI | BESCHREIBUNG |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs | {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 (rid). Der Wert {coll-id} ist der Name der Auflistung, die das Dokument enthält. |
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-is-upsert | Optional | Boolean | Wenn auf true festgelegt ist, erstellt Cosmos DB das Dokument mit der ID (und gegebenenfalls dem Partitionsschlüsselwert), falls es nicht vorhanden ist, oder aktualisiert das Dokument, falls es vorhanden ist. |
x-ms-indexing-directive | Optional | String | Der zulässige Wert ist Include oder Exclude. - Include fügt das Dokument zum Index hinzu. - Ausschließen entlässt das Dokument von der Indizierung. Die Standardeinstellung für das Indizierungsverhalten wird mithilfe des Werts der automatic-Eigenschaft in der Indizierungsrichtlinie für die Auflistung bestimmt. |
Body
Eigenschaft | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
id | Erforderlich | String | Es ist die eindeutige ID, die das Dokument identifiziert. Das heißt, keine zwei Dokumente sollten dieselbe ID verwenden. Die ID darf nicht länger als 255 Zeichen sein. Das ID-Feld wird automatisch hinzugefügt, wenn ein Dokument erstellt wird, ohne den ID-Wert anzugeben. Sie können den ID-Wert jedoch immer aktualisieren, indem Sie ihm im Anforderungstext einen benutzerdefinierten Wert zuweisen. |
<custom> | Erforderlich | JSON | Beliebiger benutzerdefinierter JSON-Code. |
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"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": true
}
Antwort
Gibt den Text des erstellten 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. |
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 |
---|---|
201 – Erstellt | Der Vorgang wurde durchgeführt. |
400 – Ungültige Anforderung | Der JSON-Text ist ungültig. |
403 Verboten | Der Vorgang konnte nicht abgeschlossen werden, da das Speicherlimit der Partition erreicht wurde. |
409 – Konflikt | Die für das neue Dokument angegebene ID wurde von einem vorhandenen Dokument übernommen. |
413 Entity Too Large | Die Dokumentgröße in der Anforderung hat die zulässige Dokumentgröße überschritten. |
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. 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": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"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": true,
"_rid": "1KtjAImkcgwBAAAAAAAAAA==",
"_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",
"_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",
"_ts": 1459218509,
"_attachments": "attachments/"
}
Beispiel
POST https://querydemo.documents.azure.com/dbs/1KtjAA==/colls/1KtjAImkcgw=/docs 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
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=602; x-ms-session-token=602
Content-Length: 344
Expect: 100-continue
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"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": true
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
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": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"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": true,
"_rid": "1KtjAImkcgwBAAAAAAAAAA==",
"_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",
"_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",
"_ts": 1459218509,
"_attachments": "attachments/"
}