Skapa dokument
Azure Cosmos DB är en globalt distribuerad databas för flera datamodeller som har stöd för flera API:er. Den här artikeln beskriver SQL-API:et för Azure Cosmos DB.
Åtgärden Create Document
skapar ett nytt dokument i en samling.
Förfrågan
Metod | URI för förfrågan | Description |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs | {databaseaccount} är namnet på det Azure Cosmos DB-konto som skapats under din prenumeration. Värdet {db-id} är det användargenererade namnet/ID:t för databasen, inte det systemgenererade ID:t (rid). Värdet {coll-id} är namnet på samlingen som innehåller dokumentet. |
Sidhuvuden
Se Vanliga REST-begärandehuvuden för Azure Cosmos DB för rubriker som används av alla Azure Cosmos DB-begäranden.
Huvud | Krävs | Typ | Description |
---|---|---|---|
x-ms-documentdb-is-upsert | Valfritt | Boolesk | Om värdet är true skapar Cosmos DB dokumentet med ID:t (och partitionsnyckelvärdet om tillämpligt) om det inte finns eller uppdaterar dokumentet om det finns. |
x-ms-indexing-directive | Valfritt | Sträng | Det godkända värdet är Inkludera eller Exkludera. - Inkludera lägger till dokumentet i indexet. - Undanta utelämnar dokumentet från indexering. Standardvärdet för indexeringsbeteende bestäms av den automatiska egenskapens värde i indexeringsprincipen för samlingen. |
Brödtext
Egenskap | Krävs | Typ | Description |
---|---|---|---|
id | Obligatorisk | Sträng | Det är det unika ID som identifierar dokumentet, det vill sa att inga två dokument ska dela samma ID. ID:t får inte överstiga 255 tecken. ID-fältet läggs automatiskt till när ett dokument skapas utan att ID-värdet anges. Du kan dock alltid uppdatera ID-värdet genom att tilldela ett anpassat värde till det i begärandetexten. |
<anpassad> | Obligatorisk | JSON | Valfri användardefinierad JSON. |
{
"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
}
Svarsåtgärder
Returnerar brödtexten i det skapade dokumentet.
Sidhuvuden
Se Vanliga REST-svarshuvuden för Azure Cosmos DB för rubriker som returneras av alla Azure Cosmos DB-svar.
Egenskap | Typ | Description |
---|---|---|
x-ms-request-charge | Tal | Antalet enheter för programbegäran som förbrukas av åtgärden. |
x-ms-session-token | Sträng | En strängtoken som används med konsekvens på sessionsnivå. Klienter måste spara det här värdet och ange det för efterföljande läsbegäranden för sessionskonsekvens. |
Statuskoder
I följande tabell visas vanliga statuskoder som returneras av den här åtgärden. En fullständig lista över statuskoder finns i HTTP-statuskoder.
HTTP-statuskod | Beskrivning |
---|---|
201 Skapad | Åtgärden lyckades. |
400 Felaktig begäran | JSON-brödtexten är ogiltig. |
403 – Förbjuden | Det gick inte att slutföra åtgärden eftersom lagringsgränsen för partitionen har uppnåtts. |
409 – Konflikt | ID:t för det nya dokumentet har tagits av ett befintligt dokument. |
413 Entiteten är för stor | Dokumentstorleken i begäran överskred den tillåtna dokumentstorleken. |
Brödtext
Egenskap | Beskrivning |
---|---|
_Bli | Det är en systemgenererad egenskap. Resurs-ID :t (_rid) är en unik identifierare som också är hierarkisk per resursstacken i resursmodellen. Den används internt för placering och navigering i dokumentresursen. |
_Ts | Det är en systemgenererad egenskap. Den anger den senast uppdaterade tidsstämpeln för resursen. Värdet är en tidsstämpel. |
_Själv | Det är en systemgenererad egenskap. Det är den unika adresserbara URI:n för resursen. |
_Etag | Det är en systemgenererad egenskap som anger resursetaggen som krävs för optimistisk samtidighetskontroll. |
_Bilagor | Det är en systemgenererad egenskap som anger den adresserbara sökvägen för resursen för bifogade filer. |
{
"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/"
}
Exempel
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/"
}