Utwórz dokument
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 Create Document
tworzy nowy dokument w kolekcji.
Żądanie
Metoda | Identyfikator URI żądania | Opis |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs | {databaseaccount} to nazwa konta usługi Azure Cosmos DB utworzonego w ramach subskrypcji. Wartość {db-id} jest wygenerowaną przez użytkownika nazwą/identyfikatorem bazy danych, a nie identyfikatorem wygenerowanym przez system (rid). Wartość {coll-id} jest nazwą kolekcji zawierającej dokument. |
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 Azure Cosmos DB.
Nagłówek | Wymagany | Typ | Opis |
---|---|---|---|
x-ms-documentdb-is-upsert | Opcjonalne | Wartość logiczna | Jeśli ustawienie ma wartość true, usługa Cosmos DB tworzy dokument z identyfikatorem (i wartością klucza partycji, jeśli ma zastosowanie), jeśli nie istnieje, lub zaktualizuj dokument, jeśli istnieje. |
x-ms-indexing-directive | Opcjonalne | Ciąg | Akceptowalna wartość to Uwzględnij lub Wyklucz. - Uwzględnij dodaje dokument do indeksu. - Wyklucz dokument z indeksowania. Wartość domyślna zachowania indeksowania jest określana przez wartość właściwości automatycznej w zasadach indeksowania dla kolekcji. |
Treść
Właściwość | Wymagany | Typ | Opis |
---|---|---|---|
id | Wymagane | Ciąg | Jest to unikatowy identyfikator identyfikujący dokument, czyli żadne dwa dokumenty nie powinny mieć tego samego identyfikatora. Identyfikator nie może przekraczać 255 znaków. Pole identyfikatora jest automatycznie dodawane po utworzeniu dokumentu bez określania wartości identyfikatora. Jednak zawsze można zaktualizować wartość identyfikatora, przypisując do niej wartość niestandardową w treści żądania. |
<custom> | Wymagane | JSON | Dowolny kod JSON zdefiniowany przez użytkownika. |
{
"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
}
Reakcja
Zwraca treść utworzonego dokumentu.
Nagłówki
Zobacz Typowe nagłówki odpowiedzi REST usługi Azure Cosmos DB dla nagłówków zwracanych przez wszystkie odpowiedzi usługi Azure Cosmos DB.
Właściwość | 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
Poniższa tabela zawiera listę typowych kodów stanu zwracanych przez tę operację. Aby uzyskać pełną listę kodów stanu, zobacz Kody stanu HTTP.
Kod stanu HTTP | Opis |
---|---|
Utworzono 201 | Operacja zakończyła się pomyślnie. |
400 Nieprawidłowe żądanie | Treść JSON jest nieprawidłowa. |
403 Zabronione | Nie można ukończyć operacji, ponieważ osiągnięto limit magazynu partycji. |
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. |
Treść
Właściwość | Opis |
---|---|
_Rid | Jest to właściwość wygenerowana przez system. Identyfikator zasobu (_rid) to unikatowy identyfikator, 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 kontrolki 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": "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/"
}
Przykład
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/"
}