Delen via


Een verzameling vervangen

Verzameling vervangen ondersteunt het wijzigen van het indexeringsbeleid van een verzameling nadat deze is gemaakt. Het wijzigen van andere eigenschappen van een verzameling, zoals de id of de partitiesleutel, wordt niet ondersteund.

Opmerking

In deze API-referentieartikelen wordt beschreven hoe u resources maakt met behulp van de Azure Cosmos DB-gegevensvlak-API. Met de Data Plane-API kunt u basisopties configureren, zoals indexeringsbeleid en partitiesleutels, net zoals u dat kunt met Cosmos DB software development kits (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 URI-aanvraag Beschrijving
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} De {databaseaccount} is de naam van het Azure Cosmos DB-account dat onder uw abonnement is gemaakt. 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.

Lichaam

Vastgoed Verplicht Typologie Beschrijving
ID Verplicht Snaar / Touwtje De door de gebruiker gegenereerde unieke naam voor de collectie. Geen twee verzamelingen kunnen dezelfde ID's hebben. Het is een tekenreeks die niet meer dan 255 tekens mag bevatten.
indexeringsbeleid Optioneel Voorwerp Deze waarde wordt gebruikt om de indexen op de collectie-items te configureren. Het indexeringsbeleid is standaard ingesteld op automatisch voor alle documentpaden binnen de verzameling.
partitionKey Verplicht Voorwerp 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 de versie op als 2 in 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 - 10.000 RU/s ligt. Voor de beste prestaties en schaalbaarheid is het aan te raden om altijd een partitiesleutel in te stellen.

Lees meer over het kiezen van een goede partitiesleutel.

Opmerking

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

Reactie

Verzameling vervangen retourneert de bijgewerkte verzameling als een antwoordlichaam.

Kopteksten

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

Statuscodes

In de volgende tabel vindt u een overzicht van de algemene statuscodes die door deze bewerking worden geretourneerd. Zie HTTP-statuscodes voor een volledige lijst met statuscodes.

Code Beschrijving
201 Akkoord De PUT-operatie was succesvol.
400 Foute Verzoek De JSON-hoofdtekst is ongeldig. Controleer op ontbrekende accolades of aanhalingstekens.

Lichaam

Vastgoed Beschrijving
identiteitskaart Het is de unieke naam die de nieuwe collectie identificeert.
_verwijderen Het is een door het systeem gegenereerde eigenschap. De resource-id (_rid) is een unieke id die ook hiërarchisch is volgens de resourcestapel op het resourcemodel. Het wordt intern gebruikt voor het plaatsen en navigeren van de machtigingsbron.
_Ts Het is een door het systeem gegenereerde eigenschap. Hiermee geeft u de laatst bijgewerkte tijdstempel van de resource op. De waarde is een tijdstempel.
_zelf 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 nodig is voor optimistische gelijktijdigheidscontrole.
_Doc Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de documentbron specificeert.
_sprocs Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de resource voor opgeslagen procedures (sprocs) specificeert.
_Triggers Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de triggerresource specificeert.
_udfs Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de door de gebruiker gedefinieerde functies (udfs) resource specificeert.
_Conflicten Het is een door het systeem gegenereerde eigenschap die het adresseerbare pad van de conflictresource specificeert. Als er tijdens een bewerking op een resource binnen een verzameling een conflict optreedt, kunnen gebruikers de conflicterende resources inspecteren door een GET uit te voeren op het URI-pad van het conflict.
indexeringsbeleid Dit zijn de instellingen van het indexeringsbeleid voor verzameling.
partitionKey Het zijn de configuratie-instellingen voor de partitionering voor verzameling.

Eigenschappen onder Opgenomen paden

Vastgoed Beschrijving
path Pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen met de wortel (/) en eindigen meestal met de ? jokertekenoperator, wat aangeeft dat er meerdere mogelijke waarden zijn voor het voorvoegsel. Als u bijvoorbeeld SELECT * FROM Families F WHERE F.familyName = "Andersen" wilt weergeven, moet u een indexpad opnemen voor /familyName/? in het indexbeleid van de collectie.

Indexpaden kunnen ook de jokerteken * gebruiken om het gedrag voor paden recursief onder het voorvoegsel op te geven. /payload/* kan bijvoorbeeld worden gebruikt om alles onder de eigenschap payload uit te sluiten van indexering.
Gegevenstype Het is het gegevenstype waarop het indexeringsgedrag wordt toegepast. Kan String, Number, Point*, Polygoon of LineString zijn. Booleaanse tekens en nullen worden automatisch geïndexeerd
vriendelijk Het type index. Hash-indexen zijn handig voor gelijkheidsvergelijkingen, terwijl bereikindexen nuttig 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 nummer en 1-100 voor string. Niet van toepassing op de gegevenstypen Point, Polygoon en LineString .

Eigenschappen onder Uitgesloten paden

Vastgoed Beschrijving
path Pad dat is uitgesloten van indexering. Indexpaden beginnen met de hoofdmap (/) en eindigen meestal met de jokerteken *. /payload/* kan bijvoorbeeld worden gebruikt om alles onder de eigenschap payload 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