Jika Anda menerima pesan kesalahan "Don't support allow update operation on table with index and ttl" saat membuat indeks sekunder, pastikan bahwa pembaruan tabel data dilarang ketika parameter time to live (TTL) disetel ke nilai selain -1 atau data dalam tabel tidak pernah kedaluwarsa.
Deskripsi masalah
Pesan kesalahan berikut muncul saat membuat indeks sekunder:
Kode Kesalahan: OTSParameterInvalid, Pesan Kesalahan: Don't support allow update operation on table with index and ttlPenyebab
Parameter TTL diatur ke nilai selain -1, tetapi parameter TableOptions.AllowUpdate tidak disetel ke false.
Saat membuat indeks sekunder untuk tabel data, tabel tersebut harus memenuhi salah satu dari kondisi berikut:
Parameter TTL tabel data diatur ke -1, yang berarti data dalam tabel tidak pernah kedaluwarsa.
Parameter TTL tabel data diatur ke nilai selain -1 dan parameter TableOptions.AllowUpdate disetel ke false.
Solusi
Pilih solusi berdasarkan kebutuhan bisnis Anda:
Jika Anda ingin data dalam tabel tidak pernah kedaluwarsa, gunakan konsol Tablestore atau SDK Tablestore untuk mengatur parameter TTL tabel data ke -1.
Gunakan Konsol Tablestore
Masuk ke konsol Tablestore, buka tab Basic Information tabel data. Klik Modify Attributes. Dalam kotak dialog yang muncul, atur Waktu Hidup ke -1, lalu klik OK.
Gunakan SDK Tablestore
Panggil operasi UpdateTable untuk mengatur parameter TableOptions.TimeToLive ke -1.
Jika Anda ingin mengatur parameter TTL ke nilai selain -1, gunakan konsol Tablestore atau SDK Tablestore untuk melarang pembaruan pada tabel data.
PentingSetelah melarang pembaruan pada tabel data, Anda tidak dapat menggunakan operasi UpdateRow untuk memperbarui data dalam tabel tersebut.
Gunakan Konsol Tablestore
Masuk ke konsol Tablestore, buka tab Basic Information tabel data. Klik Modify Attributes. Dalam kotak dialog yang muncul, atur Izinkan Pembaruan ke No, pilih kotak centang di sebelah pesan risiko, lalu klik OK.
Gunakan SDK Tablestore
Panggil operasi UpdateTable untuk mengatur parameter TableOptions.AllowUpdate ke false.