Topik ini menjelaskan cara membuat tabel data Tablestore menggunakan PHP SDK.
Catatan penggunaan
Setelah membuat tabel data, tunggu hingga tabel dimuat sebelum melakukan operasi pada data. Jika tidak, operasi tersebut akan gagal. Proses ini biasanya memakan waktu beberapa detik.
Prasyarat
Deskripsi metode
public function createTable(array $request)Kode contoh
Buat tabel data
Kode contoh berikut membuat tabel test_table yang berisi satu kunci utama bertipe String.
$request = array (
// Informasi struktur tabel
'table_meta' => array (
'table_name' => 'test_table',
// Minimal satu kunci utama diperlukan untuk membuat tabel data
'primary_key_schema' => array (
array('id', PrimaryKeyTypeConst::CONST_STRING)
),
// (Opsional) Tambahkan kolom pradefinisi
'defined_column' => array (
array('name', DefinedColumnTypeConst::DCT_STRING)
)
),
// (Opsional) Informasi konfigurasi tabel
'table_options' => array (
// (Opsional) Siklus hidup data, -1 menunjukkan bahwa data tidak pernah kedaluwarsa
'time_to_live' => -1,
// (Opsional) Jumlah maksimum versi
'max_versions' => 1,
// (Opsional) Offset versi maksimum
'deviation_cell_version_in_sec' => 86400,
// (Opsional) Apakah pembaruan diizinkan
'allow_update' => true
),
// (Opsional) Atur informasi Stream
'stream_spec' => array (
'enable_stream' => true,
'expiration_time' => 168
),
// Throughput baca dan tulis yang dicadangkan harus diatur saat membuat tabel data (hanya instans kinerja tinggi dalam Mode CU yang mendukung pengaturan nilai non-nol untuk throughput baca dan tulis yang dicadangkan)
'reserved_throughput' => array (
'capacity_unit' => array (
'read' => 0,
'write' => 0
)
)
);
try{
$client->createTable( $request );
echo "Pembuatan tabel berhasil.";
} catch (Exception $e) {
echo "Pembuatan tabel gagal.";
}Buat tabel data dengan indeks sekunder
Kode contoh berikut membuat tabel data dengan indeks sekunder.
$request = array (
// Informasi struktur tabel
'table_meta' => array (
'table_name' => 'test_table',
// Kunci utama
'primary_key_schema' => array (
array('id', PrimaryKeyTypeConst::CONST_STRING)
),
// Kolom pradefinisi
'defined_column' => array (
array('name', DefinedColumnTypeConst::DCT_STRING)
)
),
// Throughput baca dan tulis yang dicadangkan (hanya instans kinerja tinggi dalam Mode CU yang mendukung pengaturan nilai non-nol untuk throughput baca dan tulis yang dicadangkan)
'reserved_throughput' => array (
'capacity_unit' => array (
'read' => 0,
'write' => 0
)
),
// Informasi indeks sekunder
'index_metas' => array(
array(
'name' => 'test_table_index',
'primary_key' => array('id'),
'defined_column' => array('name'),
'index_type' => IndexTypeConst::LOCAL_INDEX,
'index_update_mode' => IndexUpdateModeConst::SYNC_INDEX
)
)
);
try{
$client->createTable( $request );
echo "Pembuatan tabel berhasil.";
} catch (Exception $e) {
echo "Pembuatan tabel gagal.";
}