Sdílet prostřednictvím


Vytvořit dokument

Azure Cosmos DB je globálně distribuovaná databáze pro více modelů s podporou několika rozhraní API. Tento článek se věnuje rozhraní SQL API pro službu Azure Cosmos DB.

Operace Create Document vytvoří nový dokument v kolekci.

Žádost

Metoda Identifikátor URI žádosti Description
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{id_coll}/docs {databaseaccount} je název účtu služby Azure Cosmos DB vytvořeného v rámci vašeho předplatného. Hodnota {db-id} je uživatelem vygenerované jméno nebo ID databáze, nikoli systémově vygenerované ID (rid). Hodnota {coll-id} je název kolekce, která obsahuje dokument.

Hlavičky

Viz Běžné hlavičky požadavků REST služby Azure Cosmos DB pro hlavičky, které používají všechny požadavky služby Azure Cosmos DB.

Hlavička Požaduje se Typ Description
x-ms-documentdb-is-upsert Volitelné Logická hodnota Pokud je nastavená hodnota true, Cosmos DB vytvoří dokument s ID (a hodnotou klíče oddílu, pokud neexistuje), nebo dokument aktualizuje, pokud existuje.
x-ms-indexing-direktiva Volitelné Řetězec Přijatelná hodnota je Zahrnout nebo Vyloučit.

- Zahrnout přidá dokument do indexu.
- Vyloučení vynechá dokument z indexování.

Výchozí hodnota chování indexování je určena hodnotou automatické vlastnosti v zásadách indexování pro kolekci.

Text

Vlastnost Požaduje se Typ Description
id Vyžadováno Řetězec Jedná se o jedinečné ID, které identifikuje dokument, to znamená, že žádné dva dokumenty by neměly sdílet stejné ID. ID nesmí být delší než 255 znaků. Pole ID se automaticky přidá při vytvoření dokumentu bez zadání hodnoty ID. Hodnotu ID ale můžete kdykoli aktualizovat přiřazením vlastní hodnoty v textu požadavku.
<custom> Vyžadováno JSON Libovolný soubor JSON definovaný uživatelem.
{  
  "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  
}  
  

Odpověď

Vrátí text vytvořeného dokumentu.

Hlavičky

Viz Běžné hlavičky odpovědí REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby Azure Cosmos DB.

Vlastnost Typ Description
x-ms-request-charge Číslo Počet jednotek požadavků spotřebovaných operací.
x-ms-session-token Řetězec Token řetězce používaný s konzistencí na úrovni relace. Klienti musí tuto hodnotu uložit a nastavit ji pro následné žádosti o čtení kvůli konzistenci relací.

Stavové kódy

Následující tabulka uvádí běžné stavové kódy vrácené touto operací. Úplný seznam stavových kódů najdete v tématu Stavové kódy HTTP.

Stavový kód HTTP Popis
201 Vytvořeno Operace byla úspěšná.
400 – Chybný požadavek Text JSON je neplatný.
403 – Zakázáno Operaci nelze dokončit, protože bylo dosaženo limitu úložiště oddílu.
409 – Konflikt ID zadané pro nový dokument bylo převzato existujícím dokumentem.
413 – Příliš velká entita Velikost dokumentu v požadavku překročila povolenou velikost dokumentu.

Text

Vlastnost Popis
_Zbavit Jedná se o systém vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Používá se interně pro umístění a navigaci v tomto prostředku dokumentu.
_Ts Jedná se o systém vygenerovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko.
_Vlastní Jedná se o systém vygenerovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku.
_Etag Jedná se o systémově vygenerovanou vlastnost, která určuje etag prostředku vyžadovanou pro optimistické řízení souběžnosti.
_Přílohy Jedná se o systém vygenerovanou vlastnost, která určuje adresovatelnou cestu pro prostředek příloh.
{  
  "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/"  
}  
  

Příklad

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

Viz také