表格存储如果我指定了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;
}
https://help.aliyun.com/zh/tablestore/developer-reference/getrow?spm=a2c4g.11186623.0.i7#reference-oty-2q3-bfb
此回答整理自钉群“表格存储技术交流群-2”
是的,当你在GetRowRequest中指定了一个TimeRange,那么只有在该TimeRange范围内的版本才会被返回。这是因为GetRowRequest的TimeRange字段是用来限制返回的数据的版本时间的。
具体来说,如果你指定了一个TimeRange(T, T+1),那么只有在该时间段内更新的数据的版本才会被返回。如果你在请求中没有指定TimeRange,那么默认会返回所有版本的数据。
需要注意的是,TimeRange的限制是针对整个行的,而不是针对单个属性。也就是说,即使你在请求中只指定了一个属性的TimeRange,那么只有该行在该时间段内有数据更新,才会返回该行的数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。