Buat tabel data Tablestore menggunakan Tablestore SDK untuk Python. Konfigurasikan skema tabel, opsi, indeks sekunder, dan pengaturan enkripsi sesuai kebutuhan.
Catatan penggunaan
Setelah membuat tabel data, tunggu hingga proses pemuatan selesai sebelum melakukan operasi apa pun. Proses ini biasanya memakan waktu beberapa detik. Operasi yang dilakukan sebelum tabel siap akan gagal.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Metode
def create_table(self, table_meta, table_options, reserved_throughput, secondary_indexes=[], sse_spec)
Contoh
Contoh berikut membuat tabel data bernama test_table dengan satu kolom kunci primer bertipe STRING.
# Tabel data memerlukan minimal satu kolom kunci primer.
schema_of_primary_key = [('id', 'STRING')]
# Definisikan skema tabel.
table_meta = TableMeta('test_table', schema_of_primary_key)
# Konfigurasikan opsi tabel.
table_options = TableOptions(time_to_live=-1, max_version=1, max_time_deviation=86400, allow_update=True)
# Atur reserved throughput. Default adalah 0 CU.
# Nilai bukan nol hanya berlaku untuk instans kinerja tinggi dalam Mode CU.
reserved_throughput = ReservedThroughput(CapacityUnit(0,0))
try:
client.create_table(table_meta, table_options, reserved_throughput)
print("Create table succeeded.")
except Exception as e:
print("Create table failed. %s" % e)
Contoh berikut menunjukkan cara mengonfigurasi pengaturan tertentu saat membuat tabel data.
-
Tambahkan kolom pradefinisi
defined_columns = [('name', 'STRING')] # Sertakan kolom pradefinisi dalam skema tabel. table_meta = TableMeta('test_table', schema_of_primary_key, defined_columns) -
Tambahkan indeks sekunder
# Definisikan daftar indeks sekunder. secondary_indexes = [ # Tentukan nama indeks, kolom kunci primer, kolom pradefinisi, dan tipe indeks. SecondaryIndexMeta('test_table_index', ['id', 'name'], [], index_type= SecondaryIndexType.LOCAL_INDEX) ] client.create_table(table_meta, table_options, reserved_throughput, secondary_indexes) -
Konfigurasikan enkripsi data
Gunakan kelas
SSESpecificationuntuk mengonfigurasi enkripsi sisi server (SSE) untuk tabel data.-
Enkripsi KMS
sse_specification = SSESpecification(enable=True, key_type=SSEKeyType.SSE_KMS_SERVICE, key_id=None, role_arn=None) client.create_table(table_meta, table_option, reserved_throughput, sse_spec=sse_specification) -
Enkripsi BYOK
CatatanSebelum menjalankan kode ini, dapatkan ID CMK dan ARN Peran RAM. Untuk informasi selengkapnya, lihat BYOK encryption.
key_id = "key-hzz6*****************" role_arn = "acs:ram::1705************:role/tabletorebyok" sse_specification = SSESpecification(enable=True, key_type=SSEKeyType.SSE_BYOK, key_id=key_id, role_arn=role_arn) client.create_table(table_meta, table_option, reserved_throughput, sse_spec=sse_specification)
-