Nahrazení kolekce

Funkce Nahradit kolekci podporuje změnu zásad indexování kolekce po vytvoření. Změna dalších vlastností kolekce, jako je ID nebo klíč oddílu, není podporována.

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 (Software Development Kit) Cosmos DB. Pokud požadujete kompletní podporu funkcí pro všechny prostředky služby Azure Cosmos DB, doporučujeme použít poskytovatele prostředků Cosmos DB.

Žádost

Metoda Požadavek na URI Popis
VLOŽIT 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 generované jméno/ID databáze, nikoli systémově generovaný identifikátor (RID). Hodnota {coll-id} je název kolekce, která má být nahrazena.

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 Cosmos DB.

Tělo

Vlastnictví Povinné Typ Popis
id Povinné Řetězec Uživatel vygeneroval jedinečný název kolekce. Žádné dvě kolekce nemohou mít stejné identifikátory. Jedná se o řetězec, který nesmí být delší než 255 znaků.
zásady indexování Volitelný Objekt Tato hodnota se používá ke konfiguraci indexů položek kolekce. Ve výchozím nastavení jsou zásady indexování nastaveny na automatické pro všechny cesty k dokumentům v kolekci.
partitionKey Povinné Objekt Tato hodnota nastaví klíč oddílu, který se používá pro dělení dat.

Chcete-li použít velký klíč 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é vytvořit starší nedělenou kolekci s ruční propustností 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 se doporučuje vždy nastavit klíč oddílu.

Přečtěte si, jak vybrat dobrý klíč oddílu.

Poznámka:

Když nastavíte vlastní cesty indexu, musíte určit 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/"  
}  
  

Odezva

Replace Collection vrátí aktualizovanou kolekci jako text odpovědi.

Hlavičky

Viz běžné hlavičky odpovědí REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby Cosmos DB.

Stavové kódy

V následující tabulce jsou uvedeny běžné stavové kódy vrácené touto operací. Úplný seznam stavových kódů naleznete v tématu Stavové kódy HTTP.

Code Popis
201 OK Operace PUT byla úspěšná.
400 – Chybný požadavek Text JSON je neplatný. Zkontrolujte chybějící složené závorky nebo uvozovky.

Tělo

Vlastnictví Popis
identifikační číslo Je to jedinečný název, který identifikuje novou kolekci.
_zbavit Jedná se o systém vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Interně se používá pro 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.
_já Jedná se o systém vygenerovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku.
_etag Jedná se o systémem generovanou vlastnost představující značku prostředku vyžadovanou pro optimistické řízení souběžnosti.
_doktor Jedná se o systémem generovanou vlastnost, která určuje adresovatelnou cestu ke zdroji dokumentů.
_sprocs Jedná se o systémem generovanou vlastnost, která určuje adresovatelnou cestu prostředku uložených procedur (sprocs).
_spouště Jedná se o systémem generovanou vlastnost, která určuje adresovatelnou cestu prostředku spouštěčů.
_udfs Jedná se o systémem generovanou vlastnost, která určuje adresovatelnou cestu prostředku uživatelem definovaných funkcí (UDFS).
_konflikty Jedná se o systémem generovanou vlastnost, která určuje adresovatelnou cestu konfliktního prostředku. Pokud dojde ke konfliktu během operace se zdrojem v kolekci, mohou uživatelé zkontrolovat konfliktní prostředky provedením příkazu GET na cestě identifikátoru URI konfliktů.
zásady indexování Jedná se o nastavení zásad indexování pro shromažďování.
partitionKey Jedná se o konfigurační nastavení pro rozdělení pro sběr.

Vlastnosti v části Zahrnuté cesty

Vlastnictví Popis
cesta Cesta, na kterou se chování indexování vztahuje. Cesty indexu začínají kořenovým adresářem (/) a obvykle končí znakem ? operátor se zástupnými znaky, který označuje, že předpona má více možných hodnot. Chcete-li například zobrazit SELECT * FROM Families F WHERE F.familyName = "Andersen", musíte zahrnout indexovou cestu pro /familyName/? v zásadách indexování kolekce.

Cesty indexu mohou také použít operátor zástupných znaků * k určení chování pro cesty rekurzivně pod předponou. Například /payload/* lze použít k vyloučení všeho, co je ve vlastnosti payload z indexování.
datový typ Jedná se o datový typ, na který se chování indexování vztahuje. Může to být String, Number, Point*, Polygon nebo LineString. Logické hodnoty a hodnoty null se indexují automaticky
laskavý Typ rejstříku. Hash indexy jsou užitečné pro porovnání rovnosti, zatímco indexy rozsahu jsou užitečné pro rovnost, porovnání rozsahů a řazení. Prostorové indexy jsou užitečné pro prostorové dotazy.
přesnost Přesnost indexu. Může být nastaveno na -1 pro maximální přesnost nebo mezi 1-8 pro Číslo a 1-100 pro Řetězec. Nelze použít pro datové typy Point, Polygon a LineString .

Vlastnosti ve skupině Vyloučené cesty

Vlastnictví Popis
cesta Cesta, která je vyloučena z indexování. Cesty indexu začínají kořenovým adresářem (/) a obvykle končí operátorem se zástupnými znaky *. Například /payload/* lze použít k vyloučení všeho, co je ve vlastnosti payload 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é