Udostępnij za pośrednictwem


Zastępowanie kolekcji

Funkcja Replace Collection obsługuje zmianę zasad indeksowania kolekcji po utworzeniu. Zmiana innych właściwości kolekcji, takich jak identyfikator lub klucz partycji, nie jest obsługiwana.

Uwaga

Te artykuły referencyjne dotyczące interfejsu API pokazują, jak tworzyć zasoby przy użyciu interfejsu API płaszczyzny danych usługi Azure Cosmos DB. Za pomocą interfejsu API płaszczyzny danych można skonfigurować podstawowe opcje, takie jak zasady indeksowania, klucze partycji, podobnie jak w przypadku zestawów SDK usługi Cosmos DB. Jeśli potrzebujesz pełnej obsługi funkcji dla wszystkich zasobów usługi Azure Cosmos DB, zalecamy użycie dostawcy zasobów usługi Cosmos DB.

Żądanie

Metoda Identyfikator URI żądania Opis
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} {databaseaccount} to nazwa konta usługi Azure Cosmos DB utworzonego w ramach subskrypcji. Wartość {db-id} to wygenerowana przez użytkownika nazwa/identyfikator bazy danych, a nie identyfikator wygenerowany przez system (rid). Wartość {coll-id} jest nazwą kolekcji, która ma zostać zamieniona.

Nagłówki

Zobacz Typowe nagłówki żądań REST usługi Azure Cosmos DB dla nagłówków , które są używane przez wszystkie żądania usługi Cosmos DB.

Treść

Właściwość Wymagany Typ Opis
id Wymagane Ciąg Użytkownik wygenerował unikatową nazwę kolekcji. Żadne dwie kolekcje nie mogą mieć tych samych identyfikatorów. Jest to ciąg, który nie może zawierać więcej niż 255 znaków.
indexingPolicy Opcjonalne Obiekt Ta wartość służy do konfigurowania indeksów elementów kolekcji. Domyślnie zasady indeksowania są ustawiane automatycznie dla wszystkich ścieżek dokumentów w kolekcji.
partitionKey Wymagane Obiekt Ta wartość ustawia klucz partycji używany do partycjonowania danych.

Aby użyć dużego klucza partycji, określ wersję jako 2 we właściwości partitionKey.

Jeśli wersja interfejsu API REST to 2018-12-31 lub nowsza, kolekcja musi zawierać definicję partitionKey . W wersjach starszych niż 2018-12-31 starsza kolekcja bez partycji z ręczną przepływnością można utworzyć, pomijając definicję partitionKey i zapewniając, że przepływność wynosi od 400 do 10 000 RU/s. Aby uzyskać najlepszą wydajność i skalowalność, zaleca się zawsze ustawienie klucza partycji.

Dowiedz się, jak wybrać dobry klucz partycji.

Uwaga

Po ustawieniu niestandardowych ścieżek indeksu należy określić domyślną regułę indeksowania dla całego drzewa dokumentów, co jest oznaczone przez specjalną ścieżkę "/*".

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

Reakcja

Funkcja Replace Collection zwraca zaktualizowaną kolekcję jako treść odpowiedzi.

Nagłówki

Zobacz Typowe nagłówki odpowiedzi REST usługi Azure Cosmos DB dla nagłówków zwracanych przez wszystkie odpowiedzi usługi Cosmos DB.

Kody stanu

Poniższa tabela zawiera listę typowych kodów stanu zwracanych przez tę operację. Aby uzyskać pełną listę kodów stanu, zobacz Kody stanu HTTP.

Kod Opis
201 OK Operacja PUT zakończyła się pomyślnie.
400 Nieprawidłowe żądanie Treść JSON jest nieprawidłowa. Sprawdź brakujące nawiasy klamrowe lub cudzysłowy.

Treść

Właściwość Opis
identyfikator Jest to unikatowa nazwa, która identyfikuje nową kolekcję.
_rid Jest to właściwość wygenerowana przez system. Identyfikator zasobu (_rid) to unikatowy identyfikator, który jest także identyfikatorem hierarchicznym dla stosu zasobów w modelu zasobów. Jest on używany wewnętrznie do umieszczania i nawigacji zasobu uprawnień.
_ts Jest to właściwość wygenerowana przez system. Określa ostatni zaktualizowany znacznik czasu zasobu. Wartość jest znacznikiem czasu.
_self Jest to właściwość wygenerowana przez system. Jest to unikatowy adresowy identyfikator URI zasobu.
_etag Jest to właściwość wygenerowana przez system reprezentująca tag zasobu wymagany do optymistycznej kontroli współbieżności.
_Dok Jest to właściwość wygenerowana przez system, która określa ścieżkę adresową zasobu dokumentów.
_sprocs Jest to właściwość wygenerowana przez system, która określa ścieżkę adresową zasobu procedur składowanych (sprocs).
_Wyzwalaczy Jest to właściwość wygenerowana przez system, która określa ścieżkę adresową zasobu wyzwalaczy.
_Udfs Jest to właściwość wygenerowana przez system, która określa ścieżkę adresową zasobu funkcji zdefiniowanych przez użytkownika (udfs).
_Konflikty Jest to właściwość wygenerowana przez system, która określa ścieżkę adresową zasobu konfliktów. Podczas operacji na zasobie w kolekcji, jeśli wystąpi konflikt, użytkownicy mogą sprawdzić zasoby powodujące konflikt, wykonując polecenie GET na ścieżce identyfikatora URI konfliktów.
indexingPolicy Jest to ustawienia zasad indeksowania dla kolekcji.
partitionKey Jest to ustawienia konfiguracji partycjonowania dla kolekcji.

Właściwości w obszarze Dołączone ścieżki

Właściwość Opis
path Ścieżka, do której ma zastosowanie zachowanie indeksowania. Ścieżki indeksu zaczynają się od katalogu głównego (/) i zazwyczaj kończą się ciągiem ? operator wieloznaczny oznaczający, że istnieje wiele możliwych wartości dla prefiksu. Aby na przykład służyć SELECT * FROM Families F WHERE F.familyName = "Andersen", musisz dołączyć ścieżkę indeksu dla /familyName/? w zasadach indeksu kolekcji.

Ścieżki indeksów mogą również używać operatora symboli wieloznacznych * do określania zachowania ścieżek rekursywnie pod prefiksem. Na przykład /payload/* może służyć do wykluczania wszystkiego pod właściwością ładunku z indeksowania.
dataType Jest to typ danych, dla którego jest stosowane zachowanie indeksowania. Może to być ciąg, liczba, punkt*, wielokąt lub ciąg liniowy. Wartości logiczne i null są automatycznie indeksowane
Rodzaju Typ indeksu. Indeksy skrótów są przydatne w przypadku porównań równości, podczas gdy indeksy zakresu są przydatne w przypadku równości, porównań zakresów i sortowania. Indeksy przestrzenne są przydatne w przypadku zapytań przestrzennych.
precision Precyzja indeksu. Można ustawić wartość -1 dla maksymalnej dokładności lub z zakresu od 1 do 8 dla wartości Liczba i 1–100 dla ciągu. Nie dotyczy typów danych Point, Polygon i LineString .

Właściwości w obszarze Wykluczone ścieżki

Właściwość Opis
path Ścieżka wykluczona z indeksowania. Ścieżki indeksu zaczynają się od katalogu głównego (/) i zwykle kończą się operatorem * z symbolami wieloznacznymi. Na przykład /payload/* może służyć do wykluczania wszystkiego pod właściwością ładunku z indeksowania.
{  
  "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/"  
}  
  

Przykład

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

Zobacz też