Share via


Een verzameling vervangen

Replace Collection ondersteunt het wijzigen van het indexeringsbeleid van een verzameling na het maken. Het wijzigen van andere eigenschappen van een verzameling, zoals de id of de partitiesleutel, wordt niet ondersteund.

Notitie

Deze API-referentieartikelen laten zien hoe u resources maakt met behulp van de Azure Cosmos DB-gegevensvlak-API. Met de gegevensvlak-API kunt u basisopties configureren, zoals indexeringsbeleid en partitiesleutels, net als met Cosmos DB SDK's. Als u volledige functieondersteuning nodig hebt voor alle Azure Cosmos DB-resources, raden we u aan de Cosmos DB-resourceprovider te gebruiken.

Aanvraag

Methode Aanvraag-URI Beschrijving
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} {databaseaccount} is de naam van het Azure Cosmos DB-account dat is gemaakt onder uw abonnement. De waarde {db-id} is de door de gebruiker gegenereerde naam/id van de database, niet de door het systeem gegenereerde id (rid). De waarde {coll-id} is de naam van de verzameling die moet worden vervangen.

Kopteksten

Zie Algemene Azure Cosmos DB REST-aanvraagheaders voor headers die worden gebruikt door alle Cosmos DB-aanvragen.

Hoofdtekst

Eigenschap Vereist Type Beschrijving
id Vereist Tekenreeks De gebruiker heeft een unieke naam gegenereerd voor de verzameling. Geen twee verzamelingen kunnen dezelfde id's hebben. Het is een tekenreeks die niet meer dan 255 tekens mag bevatten.
indexingPolicy Optioneel Object Deze waarde wordt gebruikt om de indexen voor items van de verzameling te configureren. Het indexeringsbeleid is standaard ingesteld op automatisch voor alle documentpaden in de verzameling.
partitionKey Vereist Object Met deze waarde stelt u de partitiesleutel in die wordt gebruikt voor het partitioneren van gegevens.

Als u een grote partitiesleutel wilt gebruiken, geeft u versie 2 op binnen de eigenschap partitionKey.

Als de REST API-versie 2018-12-31 of hoger is, moet de verzameling een partitionKey-definitie bevatten. In versies ouder dan 2018-12-31 kan een verouderde niet-gepartitioneerde verzameling met handmatige doorvoer worden gemaakt door de partitionKey-definitie weg te laten en ervoor te zorgen dat de doorvoer tussen 400 en 10.000 RU/s ligt. Voor de beste prestaties en schaalbaarheid is het raadzaam om altijd een partitiesleutel in te stellen.

Meer informatie over het kiezen van een goede partitiesleutel.

Notitie

Wanneer u aangepaste indexpaden instelt, moet u de standaardindexeringsregel opgeven voor de hele documentstructuur, die wordt aangeduid met het speciale pad '/*'.

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

Antwoord

Verzameling vervangen retourneert de bijgewerkte verzameling als antwoordtekst.

Kopteksten

Zie Algemene Azure Cosmos DB REST-antwoordheaders voor headers die worden geretourneerd door alle Cosmos DB-antwoorden.

Statuscodes

De volgende tabel bevat algemene statuscodes die door deze bewerking worden geretourneerd. Zie HTTP-statuscodes voor een volledige lijst met statuscodes.

Code Description
201 OK De PUT-bewerking is geslaagd.
400 Ongeldige aanvraag De JSON-hoofdtekst is ongeldig. Controleer op ontbrekende accolades of aanhalingstekens.

Hoofdtekst

Eigenschap Beschrijving
id Het is de unieke naam die de nieuwe verzameling identificeert.
_rid Het is een door het systeem gegenereerde eigenschap. De resource-id (_rid) is een unieke id die ook hiërarchisch is voor de resourcestack van het resourcemodel. Het wordt intern gebruikt voor de plaatsing en navigatie van de machtigingsresource.
_ts Het is een door het systeem gegenereerde eigenschap. Hiermee wordt de tijdstempel van de resource voor het laatst bijgewerkt. De waarde is een tijdstempel.
_self Het is een door het systeem gegenereerde eigenschap. Dit is de unieke adresseerbare URI voor de resource.
_etag Het is een door het systeem gegenereerde eigenschap die de resource-etag vertegenwoordigt die is vereist voor optimistisch gelijktijdigheidsbeheer.
_Doc Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de documentresource aangeeft.
_sprocs Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de resource opgeslagen procedures (sprocs) aangeeft.
_Triggers Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de triggers-resource aangeeft.
_udfs Het is een door het systeem gegenereerde eigenschap waarmee het adresseerbare pad van de door de gebruiker gedefinieerde functiesresource (udfs) wordt opgegeven.
_Conflicten Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de conflictresource aangeeft. Tijdens een bewerking op een resource in een verzameling kunnen gebruikers, als er een conflict optreedt, de conflicterende resources inspecteren door een GET uit te voeren op het conflicterende URI-pad.
indexingPolicy Dit zijn de instellingen voor het indexeringsbeleid voor verzameling.
partitionKey Dit zijn de configuratie-instellingen voor partitionering voor verzameling.

Eigenschappen onder Opgenomen paden

Eigenschap Beschrijving
leertraject Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen met de hoofdmap (/) en eindigen meestal met de ? jokertekenoperator, die aangeeft dat er meerdere mogelijke waarden zijn voor het voorvoegsel. Als u bijvoorbeeld SELECT * FROM Families F WAAR F.familyName = "Andersen" wilt gebruiken, moet u een indexpad voor /familyName/? in het indexbeleid van de verzameling.

Indexpaden kunnen ook de operator * met jokertekens gebruiken om het gedrag voor paden recursief op te geven onder het voorvoegsel. /payload/* kan bijvoorbeeld worden gebruikt om alles onder de nettoladingeigenschap uit te sluiten van indexering.
dataType Dit is het gegevenstype waarop het indexeringsgedrag wordt toegepast. Dit kan tekenreeks, getal, punt*, veelhoek of lijntekenreeks zijn. Booleaanse waarden en null-waarden worden automatisch geïndexeerd
Soort Het type index. Hash-indexen zijn handig voor gelijkheidsvergelijkingen, terwijl bereikindexen handig zijn voor gelijkheid, bereikvergelijkingen en sorteren. Ruimtelijke indexen zijn handig voor ruimtelijke query's.
precisie De precisie van de index. Kan worden ingesteld op -1 voor maximale precisie of tussen 1-8 voor Getal en 1-100 voor Tekenreeks. Niet van toepassing op gegevenstypen Punt, Veelhoek en Lijntekenreeks .

Eigenschappen onder Uitgesloten paden

Eigenschap Beschrijving
leertraject Pad dat is uitgesloten van indexering. Indexpaden beginnen met de hoofdmap (/) en eindigen meestal met de jokertekenoperator *. /payload/* kan bijvoorbeeld worden gebruikt om alles onder de nettoladingeigenschap uit te sluiten van 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/"  
}  
  

Voorbeeld

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

Zie ook