Share via


Ersätta en samling

Ersätt samling stöder ändring av indexeringsprincipen för en samling när den har skapats. Det går inte att ändra andra egenskaper för en samling som ID:t eller partitionsnyckeln.

Anteckning

Dessa API-referensartiklar visar hur du skapar resurser med hjälp av Azure Cosmos DB-dataplans-API:et. Med API:et för dataplanet kan du konfigurera grundläggande alternativ, till exempel indexeringsprincip, partitionsnycklar ungefär som du kan med Cosmos DB-SDK:er. Om du behöver fullständigt funktionsstöd för alla Azure Cosmos DB-resurser rekommenderar vi att du använder Cosmos DB-resursprovidern.

Förfrågan

Metod URI för förfrågan Description
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} {databaseaccount} är namnet på det Azure Cosmos DB-konto som skapats under din prenumeration. Värdet {db-id} är det användargenererade namnet/ID:t för databasen, inte det systemgenererade ID:t (rid). Värdet {coll-id} är namnet på den samling som ska ersättas.

Sidhuvuden

Se Vanliga REST-begärandehuvuden för Azure Cosmos DB för rubriker som används av alla Cosmos DB-begäranden.

Brödtext

Egenskap Krävs Typ Description
id Obligatorisk Sträng Användaren genererade ett unikt namn för samlingen. Inga två samlingar kan ha samma ID:n. Det är en sträng som inte får innehålla fler än 255 tecken.
indexingPolicy Valfritt Objekt Det här värdet används för att konfigurera index för samlingens objekt. Som standard är indexeringsprincipen inställd på automatisk för alla dokumentsökvägar i samlingen.
partitionKey Obligatorisk Objekt Det här värdet anger partitionsnyckeln som används för datapartitionering.

Om du vill använda en stor partitionsnyckel anger du versionen som 2 i egenskapen partitionKey.

Om REST API-versionen är 2018-12-31 eller högre måste samlingen innehålla en partitionKey-definition . I versioner som är äldre än 2018-12-31 kan en äldre icke-partitionerad samling med manuellt dataflöde skapas genom att utelämna partitionKey-definitionen och se till att dataflödet är mellan 400 och 10 000 RU/s. För bästa prestanda och skalbarhet rekommenderar vi att du alltid anger en partitionsnyckel.

Lär dig mer om hur du väljer en bra partitionsnyckel.

Anteckning

När du anger anpassade indexsökvägar måste du ange standardindexeringsregeln för hela dokumentträdet, vilket anges av den särskilda sökvägen "/*".

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

Svarsåtgärder

Replace Collection returnerar den uppdaterade samlingen som en svarstext.

Sidhuvuden

Se Vanliga REST-svarshuvuden för Azure Cosmos DB för rubriker som returneras av alla Cosmos DB-svar.

Statuskoder

I följande tabell visas vanliga statuskoder som returneras av den här åtgärden. En fullständig lista över statuskoder finns i HTTP-statuskoder.

Kod Description
201 OK PUT-åtgärden lyckades.
400 Felaktig begäran JSON-brödtexten är ogiltig. Sök efter saknade klammerparenteser eller citattecken.

Brödtext

Egenskap Beskrivning
id Det är det unika namnet som identifierar den nya samlingen.
_rid Det är en systemgenererad egenskap. Resurs-ID (_rid) är en unik identifierare som också är hierarkisk per resursstacken på resursmodellen. Den används internt för placering och navigering av behörighetsresursen.
_ts Det är en systemgenererad egenskap. Den anger den senast uppdaterade tidsstämpeln för resursen. Värdet är en tidsstämpel.
_self Det är en systemgenererad egenskap. Det är den unika adresserbara URI:n för resursen.
_etag Det är en systemgenererad egenskap som representerar resursetaggen som krävs för optimistisk samtidighetskontroll.
_Doc Det är en systemgenererad egenskap som anger dokumentresursens adresserbara sökväg.
_sprocs Det är en systemgenererad egenskap som anger den adresserbara sökvägen för resursen för lagrade procedurer (sprocs).
_Utlösare Det är en systemgenererad egenskap som anger den adresserbara sökvägen för utlösarresursen.
_udfs Det är en systemgenererad egenskap som anger den adresserbara sökvägen för den användardefinierade funktionsresursen (udfs).
_Konflikter Det är en systemgenererad egenskap som anger den adresserbara sökvägen för konfliktresursen. Om en konflikt uppstår under en åtgärd på en resurs i en samling kan användarna inspektera de resurser som står i konflikt genom att utföra en GET på URI-sökvägen för konflikter.
indexingPolicy Det är indexeringsprincipinställningarna för samlingen.
partitionKey Det är partitioneringskonfigurationsinställningarna för samlingen.

Egenskaper under Inkluderade sökvägar

Egenskap Beskrivning
path Sökväg som indexeringsbeteendet gäller för. Indexsökvägar börjar med roten (/) och slutar vanligtvis med ? jokerteckenoperator som anger att det finns flera möjliga värden för prefixet. Om du till exempel vill visa SELECT * FROM Families F WHERE F.familyName = "Andersen" måste du inkludera en indexsökväg för /familyName/? i samlingens indexprincip.

Indexsökvägar kan också använda operatorn * jokertecken för att ange beteendet för sökvägar rekursivt under prefixet. Till exempel kan /payload/* användas för att undanta allt under nyttolastegenskapen från indexering.
dataType Det är den datatyp som indexeringsbeteendet tillämpas på. Kan vara String, Number, Point*, Polygon eller LineString. Booleska värden och null-värden indexeras automatiskt
Typ Typ av index. Hash-index är användbara för likhetsjämförelser medan Intervallindex är användbara för likhet, intervalljämförelser och sortering. Rumsliga index är användbara för rumsliga frågor.
precision Indexets precision. Kan antingen anges till -1 för maximal precision eller mellan 1–8 för Tal och 1–100 för Sträng. Gäller inte för datatyperna Point, Polygon och LineString .

Egenskaper under Undantagna sökvägar

Egenskap Beskrivning
path Sökväg som undantas från indexering. Indexsökvägar börjar med roten (/) och slutar vanligtvis med operatorn * jokertecken. Till exempel kan /payload/* användas för att undanta allt under nyttolastegenskapen från indexering.
{  
  "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/"  
}  
  

Exempel

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

Se även