开发者社区 问答 正文

表格存储 ProtocolBuffer 消息定义(一)

下面是table_store.proto和table_store_filter.proto的详细定义。

table_store.protopackage com.alicloud.openservices.tablestore.core.protocol;
message Error {
    required string code = 1;
    optional string message = 2;
}
enum PrimaryKeyType {
    INTEGER = 1;
    STRING = 2;
    BINARY = 3;
}
enum PrimaryKeyOption {
    AUTO_INCREMENT = 1;
}
message PrimaryKeySchema {
    required string name = 1;
    required PrimaryKeyType type = 2;
    optional PrimaryKeyOption option = 3;
}
message TableOptions {
    optional int32 time_to_live = 1; // 可以动态更改
    optional int32 max_versions = 2; // 可以动态更改
    optional int64 deviation_cell_version_in_sec = 5; // 可以动态修改
}
message TableMeta {
    required string table_name = 1;
    repeated PrimaryKeySchema primary_key = 2;
}
enum RowExistenceExpectation {
    IGNORE = 0;
    EXPECT_EXIST = 1;
    EXPECT_NOT_EXIST = 2;
}
message Condition {
    required RowExistenceExpectation row_existence = 1;
    optional bytes column_condition      = 2;
}
message CapacityUnit {
    optional int32 read = 1;
    optional int32 write = 2;
}
message ReservedThroughputDetails {
    required CapacityUnit capacity_unit = 1; // 表当前的预留吞吐量的值。
    required int64 last_increase_time = 2; // 最后一次上调预留吞吐量的时间。
    optional int64 last_decrease_time = 3; // 最后一次下调预留吞吐量的时间。
}
message ReservedThroughput {
    required CapacityUnit capacity_unit = 1;
}
message ConsumedCapacity {
    required CapacityUnit capacity_unit = 1;
}
/* #############################################  CreateTable  ############################################# */
/**
* table_meta用于存储表中不可更改的schema属性,可以更改的ReservedThroughput和TableOptions独立出来,作为UpdateTable的参数。
* message CreateTableRequest {
*         required TableMeta table_meta = 1;
*         required ReservedThroughput reserved_throughput = 2;
*         required TableOptions table_options = 3;
* }
*/
message CreateTableRequest {
    required TableMeta table_meta = 1;
    required ReservedThroughput reserved_throughput = 2;
    optional TableOptions table_options = 3;
}
message CreateTableResponse {
}
/* ######################################################################################################### */
/* #############################################  UpdateTable  ############################################# */
message UpdateTableRequest {
    required string table_name = 1;
    optional ReservedThroughput reserved_throughput = 2;
    optional TableOptions table_options = 3;
}
message UpdateTableResponse {
    required ReservedThroughputDetails reserved_throughput_details = 1;
    required TableOptions table_options = 2;
}
/* ######################################################################################################### */
/* #############################################  DescribeTable  ############################################# */
message DescribeTableRequest {
    required string table_name = 1;
}
message DescribeTableResponse {
    required TableMeta table_meta = 1;
    required ReservedThroughputDetails reserved_throughput_details = 2;
    required TableOptions table_options = 3;
    repeated bytes shard_splits = 6;
}
/* ########################################################################################################### */
/* #############################################  ListTable  ############################################# */
message ListTableRequest {
}
/**
* 当前只返回一个简单的名称列表
*/
message ListTableResponse {
    repeated string table_names = 1;
}
/* ####################################################################################################### */
/* #############################################  DeleteTable  ############################################# */
message DeleteTableRequest {
    required string table_name = 1;
}
message DeleteTableResponse {
}
/* #############################################  UnloadTable  ############################################# */
message UnloadTableRequest {
    required string table_name = 1;
}
message UnloadTableResponse {
}
/* ########################################################################################################## */



展开
收起
云栖大讲堂 2017-10-25 14:27:06 1762 分享 版权
0 条回答
写回答
取消 提交回答