阅读802 返回首页    go 阿里云 go 技术社区[云栖]


GetRow__API 概览_API 参考_表格存储-阿里云

行为:

根据给定的主键读取单行数据。

请求结构:

  1. message GetRowRequest {
  2. required string table_name = 1;
  3. repeated Column primary_key = 2;
  4. repeated string columns_to_get = 3;
  5. optional ColumnCondition filter = 4;
  6. }

table_name:

  • 类型:string。

  • 是否必要参数:是。

  • 要读取的数据所在的表名。

primary_key:

  • 类型:repeated Column

  • 是否必要参数:是。

  • 该行全部的主键列。

columns_to_get:

  • 类型:repeated string。

  • 是否必要参数:否。

  • 需要返回的全部列的列名。若为空,则返回该行的所有列。

  • 如果指定的列不存在,则不会返回该列的数据。

  • 如果给出了重复的列名,返回结果只会包含一次该列。

  • columns_to_get 中 string 的个数不应超过 128 个。

filter:

  • 类型:ColumnCondition

  • 是否必要参数:否。

  • 过滤条件表达式。

响应消息结构:

  1. message GetRowResponse {
  2. required ConsumedCapacity consumed = 1;
  3. required Row row = 2;
  4. }

consumed:

  • 类型:CapacityUnit

  • 本次操作消耗的服务能力单元。

row:

  • 类型:Row

  • 该行需要返回的的列数据集合。其中 primary_key_columns 和 attribute_columns 分别存放读取到的主键列和属性列,其顺序不保证与 GetRowRequest 中的 columns_to_get 一致。

  • 如果该行不存在,primary_key_columns 和 attribute_columns 均为空。

服务能力单元消耗:

  • 如果请求的行不存在,消耗 1 读服务能力单元。

  • 如果请求的行存在,消耗读服务能力单元的数值为这该行所有主键列的数据大小与实际读取的属性列数据大小之和除以 4 KB 向上取整。关于数据大小的计算请参见购买指导

  • 如果请求超时,结果未定义,服务能力单元有可能被消耗,也可能未被消耗。

  • 如果返回内部错误(HTTP 状态码:5XX),则此次操作不消耗服务能力单元,其他错误情况消耗 1 读服务能力单元。

请求示例:

  1. GetRowRequest {
  2. table_name: "consume_history"
  3. primary_key {
  4. name: "CardID"
  5. value {
  6. type: STRING
  7. v_string: "2007035023"
  8. }
  9. }
  10. primary_key {
  11. name: "SellerID"
  12. value {
  13. type: STRING
  14. v_string: "00022"
  15. }
  16. }
  17. primary_key {
  18. name: "DeviceID"
  19. value {
  20. type: STRING
  21. v_string: "061104"
  22. }
  23. }
  24. primary_key {
  25. name: "OrderNumber"
  26. value {
  27. type: INTEGER
  28. v_int: 142857
  29. }
  30. }
  31. columns_to_get: "CardID"
  32. columns_to_get: "SellerID"
  33. columns_to_get: "DeviceID"
  34. columns_to_get: "OrderNumber"
  35. columns_to_get: "Amount"
  36. columns_to_get: "Remarks"
  37. }

响应示例:

  1. GetRowResponse {
  2. consumed {
  3. capacity_unit {
  4. read: 1
  5. }
  6. }
  7. row {
  8. primary_key_columns {
  9. name: "CardID"
  10. value {
  11. type: STRING
  12. v_string: "2007035023"
  13. }
  14. }
  15. primary_key_columns {
  16. name: "SellerID"
  17. value {
  18. type: STRING
  19. v_string: "00022"
  20. }
  21. }
  22. primary_key_columns {
  23. name: "DeviceID"
  24. value {
  25. type: STRING
  26. v_string: "061104"
  27. }
  28. }
  29. primary_key_columns {
  30. name: "OrderNumber"
  31. value {
  32. type: INTEGER
  33. v_int: 142857
  34. }
  35. }
  36. attribute_columns {
  37. name: "Amount"
  38. value {
  39. type: DOUBLE
  40. v_double: 2.5
  41. }
  42. }
  43. attribute_columns {
  44. name: "Remarks"
  45. value {
  46. type: STRING
  47. v_string: "ice cream"
  48. }
  49. }
  50. }
  51. }

最后更新:2016-11-23 16:03:56

  上一篇:go 操作汇总__API 概览_API 参考_表格存储-阿里云
  下一篇:go PutRow__API 概览_API 参考_表格存储-阿里云