Sdílet prostřednictvím


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

Viz také