开发者社区> 问答> 正文

Tablestore 的primary key是否有顺序要求?

使用python开发的时候遇到这个问题, 定义primary key 在table中如下
IMEI:string
CID:INTERGER
PID:INTERGER
如果代码中设置key的顺序和table中保持一致,结果返回正确:
pk = [('IMEI', u'0123456789-1'), ('CID', 0), ('PID', 0)] #primary_keys
如果换一个顺序,则报告错误:
pk = [('IMEI', u'0123456789-1'), ('PID', 0), ('CID', 0)] #primary_keys
->
OTSServiceError: ErrorCode: OTSInvalidPK, ErrorMessage: Validate PK name fail. Input: PID, Meta: CID.

从结果来看是要求必须顺序一致,但是在查询了文档没有发现有这个说明,需要确认。
另Python SDK中primary key 参数是一个dict,实际确认是一个list,不知道这个有没有影响到参数的顺序问题?
https://help.aliyun.com/document_detail/31731.html?spm=5176.doc27299.6.748.Ui959N

  """
    说明:获取一行数据。
    ``table_name``是对应的表名。
    ``primary_key``是主键,类型为dict。
    ``columns_to_get``是可选参数,表示要获取的列的名称列表,类型为list;如果不填,表示获取所有列。

展开
收起
zhuo.chen 2018-01-02 13:20:59 8213 0
2 条回答
写回答
取消 提交回答
  • 阿里云数据库表格存储 Tablestore 解决方案架构师

    按照创建表的时候添加主键的顺序赋值

    2020-06-04 16:01:53
    赞同 展开评论 打赏
  • 一个热爱科技,热爱生活的阳光男孩

    我也遇到了这个错误

    2019-07-17 21:51:19
    赞同 1 展开评论 打赏
问答标签:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

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