本文介紹如何通過PHP SDK建立Table Store的資料表。
注意事項
建立資料表後,請等待資料表載入完成後再進行資料操作,否則資料操作會失敗,這個過程通常需要幾秒鐘。
前提條件
方法說明
public function createTable(array $request)範例程式碼
建立資料表
以下範例程式碼建立了一張test_table表,該表包含1個 String類型的主鍵。
$request = array (
// 資料表的結構資訊
'table_meta' => array (
'table_name' => 'test_table',
// 建立資料表至少需要添加一個主鍵
'primary_key_schema' => array (
array('id', PrimaryKeyTypeConst::CONST_STRING)
),
// (可選)添加預定義列
'defined_column' => array (
array('name', DefinedColumnTypeConst::DCT_STRING)
)
),
// (可選)資料表的配置資訊
'table_options' => array (
// (可選)資料生命週期,-1表示資料永不到期
'time_to_live' => -1,
// (可選)最大版本數
'max_versions' => 1,
// (可選)有效版本偏差
'deviation_cell_version_in_sec' => 86400,
// (可選)是否允許更新
'allow_update' => true
),
// (可選)設定Stream資訊
'stream_spec' => array (
'enable_stream' => true,
'expiration_time' => 168
),
// 建立資料表時必須設定預留讀寫輸送量(僅CU模式高效能執行個體支援設定資料表的預留讀寫輸送量為非零值)
'reserved_throughput' => array (
'capacity_unit' => array (
'read' => 0,
'write' => 0
)
)
);
try{
$client->createTable( $request );
echo "Create table succeeded.";
} catch (Exception $e) {
echo "Create table failed.";
}建立資料表時配置二級索引
以下範例程式碼建立資料表並配置二級索引。
$request = array (
// 資料表結構資訊
'table_meta' => array (
'table_name' => 'test_table',
// 主鍵
'primary_key_schema' => array (
array('id', PrimaryKeyTypeConst::CONST_STRING)
),
// 預定義列
'defined_column' => array (
array('name', DefinedColumnTypeConst::DCT_STRING)
)
),
// 預留讀寫輸送量(僅CU模式高效能執行個體支援設定資料表的預留讀寫輸送量為非零值)
'reserved_throughput' => array (
'capacity_unit' => array (
'read' => 0,
'write' => 0
)
),
// 二級索引資訊
'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 "Create table succeeded.";
} catch (Exception $e) {
echo "Create table failed.";
}