Gyűjtemény cseréje
A Gyűjtemény cseréje funkció támogatja a gyűjtemények indexelési szabályzatának módosítását a létrehozás után. A gyűjtemény egyéb tulajdonságainak, például az azonosítónak vagy a partíciókulcsnak a módosítása nem támogatott.
Megjegyzés
Ezek az API-referenciacikkek bemutatják, hogyan hozhat létre erőforrásokat az Azure Cosmos DB adatsík API-val. Az adatsík API-val olyan alapvető beállításokat konfigurálhat, mint például az indexelési szabályzat, a partíciókulcsok 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 |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} | 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 lecserélendő gyűjtemény neve. |
Fejlécek
Az összes Cosmos DB-kérés által használt fejlécekhez tekintse meg az Azure Cosmos DB REST-kérések gyakori fejléceit .
Törzs
Tulajdonság | Kötelező | Típus | Description |
---|---|---|---|
id | Kötelező | Sztring | A felhasználó egyedi nevet hozott létre a gyűjteményhez. Két gyűjtemény nem rendelkezhet ugyanazokkal az azonosítókkal. Ez egy olyan sztring, amely legfeljebb 255 karakter hosszúságú lehet. |
indexelésPolicy | Választható | Objektum | Ez az érték a gyűjtemény elemeinek indexeinek konfigurálására szolgál. Alapértelmezés szerint az indexelési szabályzat automatikusra van állítva a gyűjtemény összes dokumentumútvonalához. |
partitionKey | Kötelező | Objektum | Ez az érték beállítja az adatparticionáláshoz használt partíciókulcsot. Nagy partíciókulcs használatához adja meg a 2-es verziót 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-es verziónál régebbi verziókban a partíciókulcs definíciójának kihagyásával és az átviteli sebesség 400–10 000 RU/s közötti értékének biztosításával hozható létre egy régi, 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. |
Megjegyzés
Egyéni indexútvonalak beállításakor meg kell adnia az alapértelmezett indexelési szabályt a teljes dokumentumfához, amelyet a "/*" speciális elérési út jelöl.
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"precision": -1,
"kind": "Range"
},
{
"dataType": "String",
"precision": 3,
"kind": "Hash"
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203135,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
Reagálás
A Cseregyűjtemény választörzsként adja vissza a frissített gyűjteményt.
Fejlécek
Az összes 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.
Code | Description |
---|---|
201 OK | A PUT művelet sikeres volt. |
400 Hibás kérelem | A JSON-törzs érvénytelen. Ellenőrizze, hogy hiányoznak-e kapcsos zárójelek vagy idézőjelek. |
Törzs
Tulajdonság | Leírás |
---|---|
id | Ez az új gyűjteményt azonosító egyedi név. |
_rid | 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. |
_self | 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ás-etagot 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ő elérési útjá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 megvizsgálhatják az ütköző erőforrásokat egy GET művelet végrehajtásával az ütközések URI-útvonalán. |
indexelésPolicy | Ez a gyűjtemény indexelési házirend-beállításai. |
partitionKey | Ez a gyűjtemény particionálási konfigurációs beállításai. |
Tulajdonságok a Belefoglalt elérési utak területen
Tulajdonság | Leírás |
---|---|
path | Elérési út, amelyre az indexelési viselkedés vonatkozik. Az indexelési útvonalak a gyökérrel (/) kezdődnek, és általában a ? helyettesítő karakter operátor, amely azt jelöli, hogy az előtagnak több lehetséges értéke is lehet. 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. A /payload/* például a hasznos adat tulajdonság alatt lévő összes elem kizárására használható az indexelésből. |
dataType | Ez az az adattípus, amelyre az indexelési viselkedést alkalmazza a rendszer. Lehet sztring, szám, pont*, sokszög vagy vonalsztring. 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 hasznosak térbeli lekérdezésekhez. |
pontosság | Az index pontossága. A maximális pontosság érdekében a -1 értékre, a Szám értéknél 1–8, a Sztring esetében 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 |
---|---|
path | 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. A /payload/* például a hasznos adat tulajdonság alatt lévő összes elem kizárására használható az indexelésből. |
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203136,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
Példa
PUT https://querydemo.documents.azure.com/dbs/XrdaAA==/colls/XrdaAKx3Hgw= HTTP/1.1
x-ms.date: 04/20/2021
authorization: type%3dmaster%26ver%3d1.0%26sig%3dZY2s2H1TuPFKk1H2od5qVLbn57vjI9rKz0CMXKOk3GA%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
Content-Length: 475
Expect: 100-continue
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"precision": -1,
"kind": "Range"
},
{
"dataType": "String",
"precision": 3,
"kind": "Hash"
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203135,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Content-Location: https://querydemo.documents.azure.com/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:54:09.213 GMT
etag: "00006e00-0000-0000-0000-56f9ac400000"
x-ms-resource-quota: collections=5000;
x-ms-resource-usage: collections=28;
collection-partition-index: 0
collection-service-index: 0
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb
x-ms-quorum-acked-lsn: 7902
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: 6050a48c-828d-4016-b73b-5e0ce2ad6271
x-ms-session-token: M:7903
Set-Cookie: x-ms-session-token#M=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
Set-Cookie: x-ms-session-token=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
x-ms-gatewayversion: version=1.6.52.5
Date: Mon, 28 Mar 2016 22:12:15 GMT
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203136,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}