开发者社区 > 云存储 > 正文

表格存储如果我指定了time_range的话,有些属性的timestamp不在这个范围返回不了了吗?

表格存储如果我指定了time_range的话,有些属性的timestamp不在这个范围返回不了了吗?

/**
 * 1. 支持用户指定版本时间戳范围或者特定的版本时间来读取指定版本的列
 * 2. 目前暂不支持行内的断点
 */
message GetRowRequest {
    required string table_name = 1;
    required bytes primary_key = 2; // encoded as InplaceRowChangeSet, but only has primary key
    repeated string columns_to_get = 3; // 不指定则读出所有的列
    optional TimeRange time_range = 4;
    optional int32 max_versions = 5;
    optional bool cache_blocks = 6 [default = true]; // 本次读出的数据是否进入BlockCache
    optional bytes filter = 7;
    optional string start_column = 8;
    optional string end_column = 9;
    optional bytes token = 10;
    optional string transaction_id = 11;
}

展开
收起
青城山下庄文杰 2023-10-30 16:21:55 55 0
2 条回答
写回答
取消 提交回答
  • 2023-10-31 17:13:21
    赞同 展开评论 打赏
  • 是的,当你在GetRowRequest中指定了一个TimeRange,那么只有在该TimeRange范围内的版本才会被返回。这是因为GetRowRequest的TimeRange字段是用来限制返回的数据的版本时间的。

    具体来说,如果你指定了一个TimeRange(T, T+1),那么只有在该时间段内更新的数据的版本才会被返回。如果你在请求中没有指定TimeRange,那么默认会返回所有版本的数据。

    需要注意的是,TimeRange的限制是针对整个行的,而不是针对单个属性。也就是说,即使你在请求中只指定了一个属性的TimeRange,那么只有该行在该时间段内有数据更新,才会返回该行的数据。

    2023-10-31 16:00:58
    赞同 展开评论 打赏
问答分类:
问答地址:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

相关电子书

更多
TableStore在社交类场景下的应用 立即下载
表格存储实时数据流Steam的技术揭秘和应用场景 立即下载
表格存储(TableStore) 立即下载