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