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