Megosztás a következőn keresztül:


Gyűjtemény létrehozása

A Create Collection művelet új gyűjteményt hoz létre egy adatbázisban.

Megjegyzés

Ezek az API-referenciacikkek bemutatják, hogyan hozhat létre erőforrásokat az Azure Cosmos DB adatsík API használatával. Az adatsík API-val olyan alapvető beállításokat konfigurálhat, mint az indexelési szabályzat, a partíciókulcsok pedig ugyanúgy, mint a Cosmos DB SDK-k esetében. Ha teljes körű szolgáltatástámogatásra van szüksége az összes Azure Cosmos DB-erőforráshoz, javasoljuk, hogy használja a Cosmos DB erőforrás-szolgáltatót.

Kérés

Metódus Kérés URI-ja Description
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls A(z) {databaseaccount} az előfizetése alatt létrehozott Azure Cosmos DB-fiók neve. A(z) {db-id} lehet az adatbázis azonosítója vagy _rid értéke.

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 .

A főkulcs-jogkivonat kivonatolt aláírásának létrehozásakor a ResourceType értéknek "colls" (ütköző) értéknek kell lennie. A ResourceId értékének a következőnek kell lennie dbs/{db-id}: , ahol a(z) {db-id} lehet az adatbázis azonosítója vagy _rid értéke.

Tulajdonság Kötelező Típus Description
x-ms-offer-throughput Választható Szám A felhasználó manuális átviteli sebességet (RU/s) adott meg a gyűjteményhez másodpercenként 100 kérelemegységben kifejezve. A minimum 400 és 1 000 000 között lehet (vagy ennél magasabb korlátnövelés kérésével).

Csak az egyiket kell megadni, x-ms-offer-throughput vagy x-ms-cosmos-offer-autopilot-settings csak egyet kell megadni. Ezek a fejlécek nem adhatók meg együtt.
x-ms-cosmos-offer-autopilot-settings Választható JSON A felhasználó az automatikus skálázás maximális RU/s-ját adta meg. Az érték egy JSON, amelynek a tulajdonsága maxThroughput. Példa: {"maxThroughput": 4000}.

Csak az egyiket kell megadni, x-ms-offer-throughput vagy x-ms-cosmos-offer-autopilot-settings csak egyet kell megadni. Ezek a fejlécek nem adhatók meg együtt.

Ha automatikus skálázást használ, szükség van egy partitionKey definícióra.
x-ms-offer-type Választható Sztring Ez egy örökölt fejléc az előre definiált S1, S2 és S3 teljesítményszintekhez, amelyek ki lettek vonva. Javasoljuk, hogy manuális vagy automatikus skálázási átviteli sebességet használjon a fent leírtak szerint.

Törzs

Tulajdonság Kötelező Típus Description
id Kötelező Sztring A felhasználó által létrehozott egyedi név a gyűjteményhez. Egyetlen gyűjtemény sem rendelkezhet ugyanazokkal az azonosítókkal. Ez egy olyan sztring, amely legfeljebb 255 karakter hosszúságú lehet.
indexelésSzabályzat Választható Objektum Ez az érték az indexelési szabályzat konfigurálására szolgál. Alapértelmezés szerint az indexelés automatikusan történik a gyűjtemény összes dokumentumútvonalához.
partitionKey Kötelező Objektum Ez az érték az adatok több partícióra való particionálásához használandó partíciókulcs konfigurálására szolgál.

Nagy partíciókulcs használatához adja meg a verziót 2-ként a partitionKey tulajdonságban.

Ha a REST API-verzió 2018-12-31-es vagy újabb, a gyűjteménynek tartalmaznia kell egy partitionKey definíciót. A 2018-12-31-esnél régebbi verziókban a partitionKey definíció kihagyásával és az átviteli sebesség 400–10 000 RU/s közötti értékének biztosításával létrehozható egy örökölt, manuális átviteli sebességgel rendelkező, nem particionált gyűjtemény. A legjobb teljesítmény és méretezhetőség érdekében javasoljuk, hogy mindig állítson be partíciókulcsot.

Megtudhatja, hogyan választhatja ki a megfelelő partíciókulcsot.

Példa törzs hasznos adataira

{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "automatic": true,  
    "indexingMode": "Consistent",  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "dataType": "String",  
            "precision": -1,  
            "kind": "Range"  
          }  
        ]  
      }  
    ]  
  },  
  "partitionKey": {  
    "paths": [  
      "/AccountNumber"  
    ],  
    "kind": "Hash",
     "Version": 2

  }  
}  
  

Reagálás

A Gyűjtemény létrehozása választörzsként adja vissza a létrehozott gyűjteményt.

Fejlécek

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

Á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érés A JSON-törzs érvénytelen. Ellenőrizze, hogy hiányoznak-e kapcsos zárójelek vagy idézőjelek.
409 Ütközés Az új gyűjteményhez megadott azonosítót egy meglévő gyűjtemény vette át.
404 az 1013-at tartalmazó alállapotkóddal A gyűjtemény létrehozási művelete még folyamatban van.

Ha időtúllépési kivételt tapasztal egy gyűjtemény létrehozásakor, futtasson egy olvasási műveletet annak ellenőrzéséhez, hogy a gyűjtemény sikeresen létrejött-e. Az olvasási művelet kivételt jelez, amíg a gyűjtemény létrehozási művelete sikeres nem lesz. Ha az olvasási művelet kivételt jelez a 404-s állapotkóddal és az 1013-at tartalmazó alállapotkóddal, az azt jelenti, hogy a gyűjteménylétrehozási művelet még folyamatban van. Próbálkozzon újra az olvasási művelettel, amíg 200 vagy 201 állapotkódot nem kap. Ezek a kódok jelzik, hogy a gyűjtemény sikeresen létrejött.

Törzs

Tulajdonság Leírás
id Ez az új gyűjteményt azonosító egyedi név.
_Megszabadulni Ez egy rendszer által létrehozott tulajdonság. Az erőforrás-azonosító (_rid) egy egyedi azonosító, amely egyben hierarchikus az erőforrásmodell erőforrásveremében. Belsőleg használják az engedélyerőforrás elhelyezésére és navigációjára.
_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 az optimista egyidejűség-vezérléshez szükséges erőforráscímkét jelöli.
_Bizonylat Ez egy rendszer által létrehozott tulajdonság, amely meghatározza a dokumentum-erőforrás címzhető elérési útját.
_sprocs Ez egy rendszer által létrehozott tulajdonság, amely meghatározza a tárolt eljárások (sprocs) erőforrásának címezhető elérési útját.
_Eseményindítók Ez egy rendszer által létrehozott tulajdonság, amely meghatározza az eseményindítók erőforrásának címezhető elérési útját.
_udfs Ez egy rendszer által létrehozott tulajdonság, amely meghatározza a felhasználó által definiált függvények (udfs) erőforrásának címezhető elérési útját.
_Konfliktusok Ez egy rendszer által létrehozott tulajdonság, amely meghatározza az ütközések erőforrásának címezhető útvonalát. Egy gyűjteményen belüli erőforráson végzett művelet során, ha ütközés történik, a felhasználók az ütköző erőforrásokat egy GET művelet végrehajtásával vizsgálhatják meg az ütközések URI-útvonalán.
indexelésSzabályzat Ez a gyűjtemény indexelési szabályzatának beállításai.
partitionKey A gyűjtemény particionálási konfigurációs beállításai.

Tulajdonságok a Belefoglalt útvonalak területen

Tulajdonság Leírás
Elérési út Az az elérési út, amelyre az indexelési viselkedés vonatkozik. Az indexútvonalak a gyökérrel (/) kezdődnek, és általában a kérdőjel (?) helyettesítő karakter operátorával végződnek, ami azt jelzi, hogy az előtagnak több lehetséges értéke is van. Ha például a SELECT * FROM Families F WHERE F.familyName = "Andersen" parancsot szeretné kiszolgálni, a /familyName/? a gyűjtemény indexszabályzatában.

Az index elérési útjai a * helyettesítő karakter operátorral is megadhatják az előtag alatti rekurzív elérési utak viselkedését. Például a /payload/* használatával kizárhat mindent a hasznos adat tulajdonságból az indexelésből.
Adattípus Ez az az adattípus, amelyre az indexelési viselkedés vonatkozik. Lehet Sztring, Szám, Pont, Sokszög vagy Vonalkarakterlánc. A logikai értékeket és a null értékeket a rendszer automatikusan indexeli
Fajta Az index típusa. A kivonatindexek egyenlőségi összehasonlításokhoz hasznosak, míg a tartományindexek az egyenlőség, a tartomány-összehasonlítás és a rendezés szempontjából hasznosak. A térbeli indexek térbeli lekérdezésekhez hasznosak.
Precíziós Az index pontossága. A maximális pontossághoz -1, szám esetén 1–8, Sztring esetén pedig 1–100 értékre állítható be. Pont-, sokszög- és LineString-adattípusokhoz nem alkalmazható.

Tulajdonságok a Kizárt elérési utak területen

Tulajdonság Leírás
Elérési út Az indexelésből kizárt elérési út. Az index elérési útjai a gyökérrel (/) kezdődnek, és általában a * helyettesítő karakterrel végződnek. Például a /payload/* használatával kizárhat mindent a hasznos adat tulajdonságból az indexelésből.

Tulajdonságok a Partíciókulcs területen

Tulajdonság Leírás
Görbék Olyan elérési utak tömbje, amelyek segítségével a gyűjteményen belüli adatok particionálhatók. Az elérési utak nem tartalmazhatnak helyettesítő karaktert vagy záró perjelet. Az "AccountNumber" JSON-tulajdonság például "/AccountNumber" néven van megadva. A tömbnek csak egyetlen értéket kell tartalmaznia.
Fajta A particionáláshoz használt algoritmus. Csak a kivonatok támogatottak.
Változat Nem kötelező mező, ha nincs megadva, az alapértelmezett érték 1. A nagy partíciókulcs használatához állítsa a verziót 2-esre. A nagy partíciókulcsokkal kapcsolatos további információkért tekintse meg a gyűjtemények nagy partíciókulcsokkal való létrehozását ismertető cikket.

Példa válasz törzsére

{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "indexingMode": "consistent",  
    "automatic": true,  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "kind": "Range",  
            "dataType": "String",  
            "precision": -1  
          },  
          {  
            "kind": "Range",  
            "dataType": "Number",  
            "precision": -1  
          }  
        ]  
      }  
    ],  
    "excludedPaths": []  
  },  
  "partitionKey": {  
    "paths": [  
      "/AccountNumber"  
    ],  
    "kind": "Hash",
    "Version": 2
  },  
  "_rid": "PD5DALigDgw=",  
  "_ts": 1459200611,  
  "_self": "dbs/PD5DAA==/colls/PD5DALigDgw=/",  
  "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"",  
  "_docs": "docs/",  
  "_sprocs": "sprocs/",  
  "_triggers": "triggers/",  
  "_udfs": "udfs/",  
  "_conflicts": "conflicts/"  
}  
  

1\. példa

Az alábbi példa egy 400 RU/s manuális átviteli sebességgel rendelkező gyűjteményt hoz létre. x-ms-offer-throughput A fejléc az átviteli sebesség (RU/s) értékének beállítására szolgál. Elfogad egy 400-es minimális értékkel rendelkező számot, amely 100-zal növekszik.

POST https://querydemo.documents.azure.com/dbs/testdb/colls HTTP/1.1  
x-ms-offer-throughput: 400  
x-ms.date: 04/20/2021
authorization: type%3dmaster%26ver%3d1.0%26sig%3dpDOKhfllik0BJijp5apzqHL%2bjtoFhsvdhAGE5F8%2bOiE%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-12-16  
Accept: application/json  
Host: querydemo.documents.azure.com  
Content-Length: 235  
Expect: 100-continue  
  
{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "automatic": true,  
    "indexingMode": "Consistent",  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "dataType": "String",  
            "precision": -1,  
            "kind": "Range"  
          }  
        ]  
      }  
    ]  
  },  
  "partitionKey": {  
    "paths": [  
      "/AccountNumber"  
    ],  
    "kind": "Hash",
    "Version": 2
  }  
}  
  
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: Mon, 28 Mar 2016 20:00:12.142 GMT  
etag: "00005900-0000-0000-0000-56f9a2630000"  
collection-partition-index: 0  
collection-service-index: 24  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/testdb  
x-ms-quorum-acked-lsn: 9  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 4.95  
x-ms-serviceversion: version=1.6.52.5  
x-ms-activity-id: 05d0a3b5-4504-446a-96f4-bef3a3408595  
x-ms-session-token: 0:10  
Set-Cookie: x-ms-session-token#0=10; Domain=querydemo.documents.azure.com; Path=/dbs/PD5DAA==/colls/PD5DALigDgw=  
Set-Cookie: x-ms-session-token=10; Domain=querydemo.documents.azure.com; Path=/dbs/PD5DAA==/colls/PD5DALigDgw=  
x-ms-gatewayversion: version=1.6.52.5  
Date: Mon, 28 Mar 2016 21:30:12 GMT  
  
{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "indexingMode": "consistent",  
    "automatic": true,  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "kind": "Range",  
            "dataType": "String",  
            "precision": -1  
          },  
          {  
            "kind": "Range",  
            "dataType": "Number",  
            "precision": -1  
          }  
        ]  
      }  
    ],  
    "excludedPaths": []  
  },  
  "partitionKey": {  
    "paths": [  
      "/AccountNumber"  
    ],  
    "kind": "Hash"  
  },  
  "_rid": "PD5DALigDgw=",  
  "_ts": 1459200611,  
  "_self": "dbs/PD5DAA==/colls/PD5DALigDgw=/",  
  "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"",  
  "_docs": "docs/",  
  "_sprocs": "sprocs/",  
  "_triggers": "triggers/",  
  "_udfs": "udfs/",  
  "_conflicts": "conflicts/"  
}  
  

2\. példa

Az alábbi példa egy 4000 RU/s automatikus skálázási maximális átviteli sebességgel rendelkező gyűjteményt hoz létre (400–4000 RU/s között skálázható). x-ms-cosmos-offer-autopilot-settings A fejléc az érték beállítására maxThroughput szolgál, amely az automatikus skálázás maximális RU/s értéke. Legalább 4000-es számot fogad el, amely 1000 egységnyire nő. Az automatikus skálázás használatakor partíciókulcs-definícióra van szükség, ahogy az alábbi példában látható:

Megjegyzés

Ha engedélyezni szeretné az automatikus skálázást egy meglévő adatbázisban vagy gyűjteményben, vagy át szeretne váltani az automatikus skálázásról a manuális átviteli sebességre, olvassa el az Ajánlat cseréje című cikket.

POST https://querydemo.documents.azure.com/dbs/testdb/colls HTTP/1.1
x-ms-cosmos-offer-autopilot-settings: {"maxThroughput": 4000}
x-ms-date: Wed, 22 Jul 2020 22:17:39 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dpDOKhfllik0BJijp5apzqHL%2bjtoFhsvdhAGE5F8%2bOiE%3d
Cache-Control: no-cache  
User-Agent: contoso/1.0
x-ms-version: 2018-12-31
Accept: application/json  
Host: querydemo.documents.azure.com  
Content-Length: 235  
Expect: 100-continue  
  
{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "automatic": true,  
    "indexingMode": "Consistent",  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "dataType": "String",  
            "precision": -1,  
            "kind": "Range"  
          }  
        ]  
      }  
    ]  
  },  
  "partitionKey": {  
    "paths": [  
      "/AccountNumber"  
    ],  
    "kind": "Hash",
    "Version": 2
  }  
}  
  

Lásd még: