Dela via


Ersätt en samling

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

Se även