Nahrazení kolekce
Nahradit kolekci podporuje změnu zásad indexování kolekce po vytvoření. Změna jiných vlastností kolekce, jako je ID nebo klíč oddílu, se nepodporuje.
Poznámka
Tyto referenční články k rozhraní API ukazují, jak vytvářet prostředky pomocí rozhraní API roviny dat služby Azure Cosmos DB. Pomocí rozhraní API roviny dat můžete nakonfigurovat základní možnosti, jako jsou zásady indexování, klíče oddílů podobně jako u sad SDK služby Cosmos DB. Pokud potřebujete úplnou podporu funkcí pro všechny prostředky Azure Cosmos DB, doporučujeme použít poskytovatele prostředků Cosmos DB.
Žádost
Metoda | Identifikátor URI žádosti | Description |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} | {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 id vygenerované systémem (RID). Hodnota {coll-id} je název kolekce, která se má nahradit. |
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 Cosmos DB.
Text
Vlastnost | Požaduje se | Typ | Description |
---|---|---|---|
id | Vyžadováno | Řetězec | Uživatel vygeneroval jedinečný název kolekce. Žádná dvě kolekce nesmí mít stejná ID. Jedná se o řetězec, který nesmí být delší než 255 znaků. |
indexováníZásady | Volitelné | Objekt | Tato hodnota se používá ke konfiguraci indexů u položek kolekce. Ve výchozím nastavení jsou zásady indexování nastaveny na automatické pro všechny cesty k dokumentům v rámci kolekce. |
partitionKey | Vyžadováno | Objekt | Tato hodnota nastaví klíč oddílu, který se používá k dělení dat. Pokud chcete použít klíč velkého oddílu, zadejte ve vlastnosti partitionKey verzi jako 2. Pokud je verze rozhraní REST API 2018-12-31 nebo vyšší, musí kolekce obsahovat definici partitionKey . Ve verzích starších než 2018-12-31 je možné starší kolekci bez oddílů s ruční propustností vytvořit vynecháním definice partitionKey a zajištěním propustnosti mezi 400 až 10 000 RU/s. Pro zajištění nejlepšího výkonu a škálovatelnosti doporučujeme vždy nastavit klíč oddílu. Přečtěte si, jak zvolit vhodný klíč oddílu. |
Poznámka
Když nastavujete vlastní cesty indexu, musíte zadat výchozí pravidlo indexování pro celý strom dokumentu, které je označeno speciální cestou "/*".
{
"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/"
}
Odpověď
Funkce Replace Collection vrátí aktualizovanou kolekci jako text odpovědi.
Hlavičky
Viz Běžné hlavičky odpovědi REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby Cosmos DB.
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.
Kód | Description |
---|---|
201 OK | Operace PUT byla úspěšná. |
400 – Chybný požadavek | Text JSON je neplatný. Zkontrolujte, jestli nechybí složené závorky nebo uvozovky. |
Text
Vlastnost | Popis |
---|---|
id | Jedná se o jedinečný název, který identifikuje novou kolekci. |
_rid | Jedná se o systém vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický pro zásobník prostředků na modelu prostředků. Používá se interně k umístění a navigaci prostředku oprávnění. |
_ts | Jedná se o systém vygenerovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko. |
_self | 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 představující značku prostředku etag vyžadovanou pro řízení optimistické souběžnosti. |
_Doc | Jedná se o systém vygenerovanou vlastnost, která určuje adresovatelnou cestu k prostředku dokumentů. |
_sprocs | Jedná se o systémově vygenerovanou vlastnost, která určuje adresovatelnou cestu k prostředku uložených procedur (sprocs). |
_Aktivační události | Jedná se o systém vygenerovanou vlastnost, která určuje adresovatelnou cestu prostředku triggerů. |
_Udf | Jedná se o systémově vygenerovanou vlastnost, která určuje adresovatelnou cestu k prostředku uživatelem definovaných funkcí (udfs). |
_Konflikty | Jedná se o systém vygenerovanou vlastnost, která určuje adresovatelnou cestu ke konfliktu prostředku. Pokud během operace s prostředkem v rámci kolekce dojde ke konfliktu, můžou uživatelé zkontrolovat konfliktní prostředky provedením get na cestě URI konfliktů. |
indexováníZásady | Jedná se o nastavení zásad indexování pro kolekci. |
partitionKey | Jedná se o nastavení konfigurace dělení pro kolekci. |
Vlastnosti v části Zahrnuté cesty
Vlastnost | Popis |
---|---|
program | Cesta, na kterou se chování indexování vztahuje. Cesty indexu začínají kořenem (/) a obvykle končí na ? Zástupný operátor, který označuje, že existuje více možných hodnot pro předponu. Pokud například chcete zobrazit příkaz SELECT * FROM Families F WHERE F.familyName = "Andersen", musíte zahrnout cestu indexu pro /familyName/? v zásadách indexu kolekce. Cesty indexu mohou také použít zástupný operátor * k určení chování pro cesty rekurzivně pod předponou. Například /payload/* lze použít k vyloučení všeho v rámci vlastnosti datové části z indexování. |
dataType | Jedná se o datový typ, pro který se chování indexování používá. Může to být Řetězec, Číslo, Bod*, Mnohoúhelník nebo LineString. Logické hodnoty a hodnoty null se automaticky indexují. |
Druhu | Typ indexu. Indexy hash jsou užitečné pro porovnávání rovnosti, zatímco indexy rozsahů jsou užitečné pro rovnost, porovnávání rozsahů a řazení. Prostorové indexy jsou užitečné pro prostorové dotazy. |
Přesnost | Přesnost indexu. Může být nastaven na -1 pro maximální přesnost nebo mezi 1-8 pro číslo a 1-100 pro řetězec. Neplatí pro datové typy Point, Polygon a LineString . |
Vlastnosti ve vyloučených cestách
Vlastnost | Popis |
---|---|
program | Cesta, která je vyloučena z indexování. Cesty indexu začínají kořenovým znakem (/) a obvykle končí zástupným operátorem * . Například /payload/* lze použít k vyloučení všeho v rámci vlastnosti datové části z indexování. |
{
"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říklad
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/"
}