Dokumentum létrehozása

Az Azure Cosmos DB egy globálisan elosztott, többmodelles adatbázis, amely számos API-t támogat. Ez a cikk az Azure Cosmos DB SQL API-jával foglalkozik.

A Create Document művelet létrehoz egy új dokumentumot egy gyűjteményben.

Kérés

Metódus Kérés URI-ja Description
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs A(z) {databaseaccount} az előfizetése alatt létrehozott Azure Cosmos DB-fiók neve. A(z) {db-id} érték az adatbázis felhasználó által létrehozott neve/azonosítója, nem pedig a rendszer által létrehozott azonosító (rid). A(z) {coll-id} érték a dokumentumot tartalmazó gyűjtemény neve.

Fejlécek

Az összes Azure Cosmos DB-kérés által használt fejlécekhez tekintse meg az Azure Cosmos DB REST-kérések gyakori fejléceit .

Fejléc Kötelező Típus Description
x-ms-documentdb-is-upsert Választható Logikai Ha igaz értékre van állítva, a Cosmos DB létrehozza a dokumentumot azonosítóval (és adott esetben partíciókulcs-értékkel), ha nem létezik, vagy ha létezik, frissítse a dokumentumot.
x-ms-indexelés-direktíva Választható Sztring Az elfogadható érték a Belefoglalás vagy a Kizárás.

- A Belefoglalás hozzáadja a dokumentumot az indexhez.
- A kizárás kihagyja a dokumentumot az indexelésből.

Az indexelési viselkedés alapértelmezett értékét az automatikus tulajdonság értéke határozza meg a gyűjtemény indexelési szabályzatában.

Törzs

Tulajdonság Kötelező Típus Description
id Kötelező Sztring Ez az egyedi azonosító azonosítja a dokumentumot, azaz két dokumentumnak nem szabad ugyanazt az azonosítót megosztania. Az azonosító nem haladhatja meg a 255 karaktert. Az AZONOSÍTÓ mező automatikusan hozzáadódik egy dokumentum létrehozásakor az azonosító értékének megadása nélkül. Az azonosító értékét azonban bármikor frissítheti, ha egy egyéni értéket rendel hozzá a kérelem törzsében.
<egyéni> Kötelező JSON Bármely felhasználó által definiált 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  
}  
  

Reagálás

A létrehozott dokumentum törzsét adja vissza.

Fejlécek

Az összes Azure Cosmos DB-válasz által visszaadott fejlécekhez tekintse meg az Azure Cosmos DB REST-válaszfejléceit .

Tulajdonság Típus Description
x-ms-request-charge Szám A művelet által felhasznált kérelemegységek száma.
x-ms-session-token Sztring Munkamenetszintű konzisztenciával használt sztring-jogkivonat. Az ügyfeleknek menteniük kell ezt az értéket, és be kell állítaniuk a munkamenet-konzisztencia későbbi olvasási kéréseihez.

Állapotkódok

Az alábbi táblázat a művelet által visszaadott gyakori állapotkódokat sorolja fel. Az állapotkódok teljes listáját lásd: HTTP-állapotkódok.

HTTP-állapotkód Leírás
201 Létrehozva A művelet sikeres volt.
400 Hibás kérelem A JSON-törzs érvénytelen.
403 – Tiltott A művelet nem hajtható végre, mert elérte a partíció tárolási korlátját.
409 Ütközés Az új dokumentumhoz megadott azonosítót egy meglévő dokumentum készítette.
413 Entitás túl nagy A kérelemben szereplő dokumentumméret túllépte az engedélyezett dokumentumméretet.

Törzs

Tulajdonság Leírás
_Megszabadulni Ez egy rendszer által létrehozott tulajdonság. Az erőforrás-azonosító (_rid) egy egyedi azonosító, amely az erőforrás-modell erőforrás-verménként is hierarchikus. A rendszer a dokumentum típusú erőforrás elhelyezésére és navigálására használja.
_Ts Ez egy rendszer által létrehozott tulajdonság. Meghatározza az erőforrás utolsó frissített időbélyegét. Az érték egy időbélyeg.
_Önálló Ez egy rendszer által létrehozott tulajdonság. Ez az erőforrás egyedi címezhető URI-ja.
_Etag Ez egy rendszer által létrehozott tulajdonság, amely meghatározza az optimista egyidejűség-vezérléshez szükséges erőforrás-etaget .
_Mellékletek Ez egy rendszer által létrehozott tulajdonság, amely meghatározza a mellékletek erőforrásának címezhető elérési útját.
{  
  "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élda

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

Lásd még: