Ganti Koleksi
Replace Collection mendukung perubahan kebijakan pengindeksan koleksi setelah pembuatan. Mengubah properti lain dari koleksi seperti ID atau kunci partisi tidak didukung.
Catatan
Artikel referensi API ini menunjukkan cara membuat sumber daya menggunakan API sarana data Azure Cosmos DB. Dengan API sarana data, Anda dapat mengonfigurasi opsi dasar seperti kebijakan pengindeksan, kunci partisi seperti yang Anda dapat dengan Cosmos DB SDK. Jika Anda memerlukan dukungan fitur lengkap untuk semua sumber daya Azure Cosmos DB, sebaiknya gunakan Penyedia Sumber Daya Cosmos DB.
Minta
Metode | Meminta URI | Deskripsi |
---|---|---|
TEMPATKAN | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} | {databaseaccount} adalah nama akun Azure Cosmos DB yang dibuat di bawah langganan Anda. Nilai {db-id} adalah nama/id yang dihasilkan pengguna dari database, bukan id yang dihasilkan sistem (rid). Nilai {coll-id} adalah nama koleksi yang akan diganti. |
Header
Lihat Header permintaan Rest Azure Cosmos DB umum untuk header yang digunakan oleh semua permintaan Cosmos DB.
Isi
Properti | Diperlukan | Jenis | Deskripsi |
---|---|---|---|
id | Diperlukan | String | Pengguna menghasilkan nama unik untuk koleksi. Tidak ada dua koleksi yang dapat memiliki id yang sama. Ini adalah string yang tidak boleh lebih dari 255 karakter. |
indexingPolicy | Opsional | Object | Nilai ini digunakan untuk mengonfigurasi indeks pada item koleksi. Secara default, kebijakan pengindeksan diatur ke otomatis untuk semua jalur dokumen dalam koleksi. |
partitionKey | Diperlukan | Object | Nilai ini menetapkan kunci partisi yang digunakan untuk pemartisian data. Untuk menggunakan kunci partisi besar, tentukan versi sebagai 2 dalam properti partitionKey. Jika versi REST API adalah 2018-12-31 atau lebih tinggi, koleksi harus menyertakan definisi partitionKey . Dalam versi yang lebih lama dari 2018-12-31, koleksi non-partisi warisan dengan throughput manual dapat dibuat dengan menghilangkan definisi partitionKey dan memastikan throughput antara 400 - 10.000 RU/dtk. Untuk performa dan skalabilitas terbaik, disarankan untuk selalu mengatur kunci partisi. Pelajari tentang cara memilih kunci partisi yang baik. |
Catatan
Saat Anda mengatur jalur indeks kustom, Anda diharuskan menentukan aturan pengindeksan default untuk seluruh pohon dokumen, yang ditandai dengan jalur khusus "/*".
{
"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/"
}
Respons
Replace Collection mengembalikan koleksi yang diperbarui sebagai isi respons.
Header
Lihat Header respons Rest Azure Cosmos DB umum untuk header yang dikembalikan oleh semua respons Cosmos DB.
Kode status
Tabel berikut mencantumkan kode status umum yang dikembalikan oleh operasi ini. Untuk daftar lengkap kode status, lihat Kode Status HTTP.
Kode | Deskripsi |
---|---|
201 OK | Operasi PUT berhasil. |
400 Permintaan Buruk | Isi JSON tidak valid. Periksa tanda kurung keriting atau tanda kutipan yang hilang. |
Isi
Properti | Deskripsi |
---|---|
id | Ini adalah nama unik yang mengidentifikasi koleksi baru. |
_rid | Ini adalah properti yang dihasilkan sistem. ID sumber daya (_rid) adalah pengidentifikasi unik yang juga hierarkis per tumpukan sumber daya pada model sumber daya. Ini digunakan secara internal untuk penempatan dan navigasi sumber daya izin. |
_ts | Ini adalah properti yang dihasilkan sistem. Ini menentukan tanda waktu terakhir yang diperbarui dari sumber daya. Nilainya adalah tanda waktu. |
_self | Ini adalah properti yang dihasilkan sistem. Ini adalah URI unik yang dapat diatasi untuk sumber daya. |
_etag | Ini adalah properti yang dihasilkan sistem yang mewakili etag sumber daya yang diperlukan untuk kontrol konkurensi optimis. |
_Doc | Ini adalah properti yang dihasilkan sistem yang menentukan jalur sumber daya dokumen yang dapat diatasi. |
_sprocs | Ini adalah properti yang dihasilkan sistem yang menentukan jalur yang dapat diatasi dari sumber daya prosedur tersimpan (sprocs). |
_Memicu | Ini adalah properti yang dihasilkan sistem yang menentukan jalur sumber daya pemicu yang dapat diatasi. |
_udfs | Ini adalah properti yang dihasilkan sistem yang menentukan jalur yang dapat diatasi dari sumber daya fungsi yang ditentukan pengguna (udfs). |
_Konflik | Ini adalah properti yang dihasilkan sistem yang menentukan jalur sumber daya konflik yang dapat diatasi. Selama operasi pada sumber daya dalam koleksi, jika konflik terjadi, pengguna dapat memeriksa sumber daya yang bertentangan dengan melakukan GET pada jalur URI yang bertentangan. |
indexingPolicy | Ini adalah pengaturan kebijakan pengindeksan untuk pengumpulan. |
partitionKey | Ini adalah pengaturan konfigurasi partisi untuk pengumpulan. |
Properti di bawah Jalur yang Disertakan
Properti | Deskripsi |
---|---|
jalur | Jalur tempat perilaku pengindeksan berlaku. Jalur indeks dimulai dengan akar (/) dan biasanya diakhir dengan ? operator kartubebas, menunjukkan bahwa ada beberapa nilai yang mungkin untuk awalan. Misalnya, untuk melayani SELECT * FROM Family F WHERE F.familyName = "Andersen", Anda harus menyertakan jalur indeks untuk /familyName/? dalam kebijakan indeks koleksi. Jalur indeks juga dapat menggunakan operator kartubebas * untuk menentukan perilaku jalur secara rekursif di bawah awalan. Misalnya, /payload/* dapat digunakan untuk mengecualikan semuanya di bawah properti payload dari pengindeksan. |
dataType | Ini adalah jenis data tempat perilaku pengindeksan diterapkan. Dapat berupa String, Number, Point*, Polygon, atau LineString. Boolean dan null secara otomatis diindeks |
jenis | Jenis indeks. Indeks hash berguna untuk perbandingan kesetaraan sementara indeks Rentang berguna untuk kesetaraan, perbandingan rentang, dan pengurutan. Indeks spasial berguna untuk kueri spasial. |
presisi | Presisi indeks. Dapat diatur ke -1 untuk presisi maksimum atau antara 1-8 untuk Angka, dan 1-100 untuk String. Tidak berlaku untuk jenis data Point, Polygon, dan LineString . |
Properti di bawah Jalur yang Dikecualikan
Properti | Deskripsi |
---|---|
jalur | Jalur yang dikecualikan dari pengindeksan. Jalur indeks dimulai dengan root (/) dan biasanya diakhir dengan operator kartubebas * . Misalnya, /payload/* dapat digunakan untuk mengecualikan semuanya di bawah properti payload dari pengindeksan. |
{
"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/"
}
Contoh
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/"
}