Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Ersätt samling har stöd för att ändra indexeringsprincipen för en samling när den har skapats. Det går inte att ändra andra egenskaper för en samling, till exempel ID:t eller partitionsnyckeln.
Anmärkning
De här API-referensartiklarna visar hur du skapar resurser med hjälp av Azure Cosmos DB-API:et för dataplanet. Med API:et för dataplanet kan du konfigurera grundläggande alternativ som indexeringsprincip, partitionsnycklar på samma sätt som du kan med Cosmos DB SDK:er (Software Development Kits). Om du behöver fullständigt funktionsstöd för alla Azure Cosmos DB-resurser rekommenderar vi att du använder Cosmos DB-resursprovidern.
Begäran
| Metod | Begäran om URI | Beskrivning |
|---|---|---|
| LÄGG | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} | {databaseaccount} är namnet på det Azure Cosmos DB-konto som skapades under din prenumeration. Värdet {db-id} är det användargenererade namnet/ID:t för databasen, inte den systemgenererade identifieraren (rid). Värdet {coll-id} är namnet på den samling som ska ersättas. |
Rubriker
Se vanliga Azure Cosmos DB REST-begärandehuvuden för rubriker som används av alla Cosmos DB begäranden.
Kropp
| Fastighet | Krävs | Typ | Beskrivning |
|---|---|---|---|
| ID | Krävs | Sträng | Användaren genererade ett unikt namn för samlingen. Det finns inte två samlingar som kan ha samma identifierare. Det är en sträng som inte får vara längre än 255 tecken. |
| Princip för indexering | Valfritt | Objekt | Det här värdet används för att konfigurera indexen för samlingens objekt. Som standard är indexeringsprincipen inställd på automatisk för alla dokumentsökvägar i samlingen. |
| partitionKey | Krävs | Objekt | Det här värdet anger den partitionsnyckel som används för datapartitionering. Om du vill använda en stor partitionsnyckel anger du versionen som 2 i partitionKey egenskapen . Om REST API-versionen är 2018-12-31 eller senare 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. |
Anmärkning
När du anger anpassade indexsökvägar måste du ange standardindexeringsregeln för hela dokumentträdet, som betecknas 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/"
}
Svar
Ersätt samling returnerar den uppdaterade samlingen som en svarstext.
Rubriker
Se vanliga Azure Cosmos DB REST-svarshuvuden 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 | Beskrivning |
|---|---|
| 201 Okej | PUT-åtgärden lyckades. |
| 400 Felaktig begäran | JSON-datan är ogiltig. Kontrollera om det saknas klammerparenteser eller citattecken. |
Kropp
| Fastighet | Beskrivning |
|---|---|
| Id-nummer | Det är det unika namnet som identifierar den nya samlingen. |
| _rid | Det är en systemgenererad egenskap. Resurs-ID:t (_rid) är en unik identifierare som också är hierarkisk enligt resursstacken i resursmodellen. Den används internt för placering och navigering av behörighetsresursen. |
| _Ts | Det är en systemgenererad egenskap. Den anger resursens senast uppdaterade tidsstämpel. Värdet är en tidsstämpel. |
| _själv | Det är en systemgenererad egenskap. Det är den unika adresserbara URI:n för resursen. |
| _etag | Det är en systemgenererad egenskap som representerar den resurstagg som krävs för optimistisk samtidighetskontroll. |
| _Doc | Det är en systemgenererad egenskap som anger den adresserbara sökvägen för dokumentresursen. |
| _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 resursen för användardefinierade funktioner (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 motstridiga resurserna genom att utföra en GET på konflikt-URI-sökvägen. |
| Princip för indexering | Det är indexeringsprincipinställningarna för samling. |
| partitionKey | Det är konfigurationsinställningarna för partitionering för samling. |
Egenskaper under Inkluderade sökvägar
| Fastighet | Beskrivning |
|---|---|
| väg | Sökväg som indexeringsbeteendet gäller för. Indexsökvägar börjar med roten (/) och slutar vanligtvis med ? jokertecken, 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 jokerteckenoperatorn * för att ange beteendet för sökvägar rekursivt under prefixet. Kan till exempel /payload/* användas för att undanta allt under payload egenskapen från indexering. |
| Datatyp | 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 ställas in på -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
| Fastighet | Beskrivning |
|---|---|
| väg | Sökväg som är undantagen från indexering. Indexsökvägar börjar med roten (/) och slutar vanligtvis med jokerteckenoperatorn *. Kan till exempel /payload/* användas för att undanta allt under payload egenskapen 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/"
}