Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
}
}