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

Lihat juga