本文介绍如何通过PHP SDK创建表格存储的数据表。
注意事项
创建数据表后,请等待数据表加载完成后再进行数据操作,否则数据操作会失败,这个过程通常需要几秒钟。
前提条件
方法说明
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.";
}