开发者社区 问答 正文

Python-SDK简介


本文档主要介绍 Table Store Python SDK 的安装和使用,适用 4.x.x 版本。请确保您已经开通了阿里云表格存储服务,并创建了 AccessKeyId 和 AccessKeySecret。



SDK 下载


关于版本迭代详情,请参见 这里

兼容性


  • 对于 4.x.x 系列的 SDK 兼容。

  • 对于 2.x.x 系列的 SDK 不兼容,原因是 2.0 系列版本中支持主键乱序,而 4.0 开始不允许主键乱序,涉及的不兼容点包括:包名称由 ots2 变更为 tablestore。
  • Client.create_table 接口新增参数 TableOptions。
  • put_row、get_row、update_row 等接口的 primary_key 参数由 dict 类型变更为 list 类型,目的是保证顺序性。
  • put_row、update_row 等接口的 attribute_columns 参数由 dict 类型变更为 list 类型。
  • put_row、update_row 等接口的 attribute_columns 参数新增 timestamp。
  • get_row、get_range 等接口新增 max_version,time_range 接口,这两个参数必须存在一个。
  • put_row、update_row、delete_row 等接口新增 return_type 参数,目前仅支持 RT_PK,表示返回值中包含当前行 PK 值。
  • put_row、update_row、delete_row 等接口返回值新增 return_row,如果在请求中指定了 return_type 为 RT_PK,则 return_row 中包含这一行的 PK 值。


版本


当前最新版本:4.2.0

变更内容



v4.2.0

  • 新增支持 STS


v4.1.0

  • 新增支持 python 2.6 版本


v4.0.0

  • 支持多版本
  • 支持 TimeToLive
  • 支持主键自增列

展开
收起
云栖大讲堂 2017-10-25 16:50:29 2138 分享 版权
阿里云 AI 助理回答

阿里云表格存储(Table Store)的Python SDK 4.x.x版本提供了丰富的功能和优化,以帮助开发者更高效地与表格存储服务进行交互。以下是对您提供的文档内容的一些补充说明和使用指导:

安装SDK

您可以通过以下方式之一安装aliyun-tablestore-python-sdk:

  • 使用pip安装:

    pip install aliyun-tablestore-python-sdk
    
  • 从GitHub下载并安装: 首先,从GitHub上克隆或下载源代码:

    git clone https://github.com/aliyun/aliyun-tablestore-python-sdk.git
    

    然后,进入项目目录并安装:

    cd aliyun-tablestore-python-sdk
    python setup.py install
    

使用前准备

确保您已具备以下条件: - 开通阿里云表格存储服务。 - 获取AccessKeyId和AccessKeySecret,这是访问阿里云API的凭证。

关键变更点

在从2.x.x升级到4.x.x时,需要注意几个关键的不兼容变化: 1. 包名称变更:由ots2变更为tablestore。 2. 主键顺序要求:4.0开始,主键必须有序,因此相关接口参数类型由字典变为列表。 3. 接口参数调整:如put_rowget_row等接口的参数类型和结构有所调整,增加了对timestamp的支持,以及max_versiontime_range参数来控制数据版本读取。 4. 返回值调整:新增了return_type参数,允许指定返回结果中是否包含主键信息,且返回结果结构相应调整。

新特性概览

  • STS支持(v4.2.0): 支持Security Token Service,使得临时授权更加安全灵活。
  • Python 2.6支持(v4.1.0): 扩展了对Python版本的支持范围。
  • 多版本支持与TimeToLive(v4.0.0): 引入了多版本控制和数据生命周期管理功能,增强了数据管理的灵活性。

快速入门示例

一旦安装完成,您可以快速开始使用SDK。以下是一个简单的示例,展示如何创建一个客户端并执行基本操作:

from tablestore import *

ots_client = OTSClient('<your instance endpoint>', '<your access key id>', '<your access key secret>', '<your instance name>')

# 定义表结构
table_meta = TableMeta('MyTable', [('pk1', 'STRING'), ('pk2', 'INTEGER')])  # 主键定义
reserved_throughput = ReservedThroughput(CapacityUnit(0, 0))  # 初始预留吞吐量

# 创建表
ots_client.create_table(table_meta, reserved_throughput)

# 插入一行数据
primary_key = [('pk1', 'hello'), ('pk2', 123)]
attribute_columns = [('name', 'John Doe'), ('age', 30), ('timestamp', int(time.time() * 1000))]  # 注意timestamp单位为毫秒
condition = Condition(RowExistenceExpectation.IGNORE)
consumed, return_row = ots_client.put_row('MyTable', primary_key, attribute_columns, condition)

print("Write succeed, consume %s write cu." % consumed.write)

请根据实际需求替换<your instance endpoint><your access key id><your access key secret><your instance name>等占位符,并根据具体业务逻辑调整代码。

更多高级用法和详细API文档,请参考官方文档和GitHub仓库。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答