aliyun-table

Aliyun Tablestore Operations, make aliyun tablestore more simple.


License
MIT
Install
pip install aliyun-table==0.1.1

Documentation

aliyun-table

阿里云表格相关操作

目前支持:

[ ] 输出索引信息

[ ] 查询全部数据

[ ] 表格查询:短语查询,前缀匹配查询,精准查询,范围查询

[x] 插入数据

[x] 更新数据

CHANGELOG

安装

pip install --upgrade aliyun-table

安装完成后,在交互界面执行:

>>> from aliyun_table import TableClient
>>>

如果没有报错,说明安装成功

初始化

以下变量可以设置为环境变量

OTS_END_POINT

OTS_ACCESS_KEY_ID

OTS_ACCESS_KEY_SECRET

from aliyun_table import TableClient
table_cli = TableClient()

插入数据和更新数据

table_cli = TableClient(table_name='表名', 
                        instance_name='实例名',
                        end_point='endpoint',
                        access_key_id='access_key_secret', 
                        access_key_secret='access_key_secret'):
data = {
    'pk1': '123',
    # pk2为自增列,需要传None.
    'pk2': None,
    'col1': 'test'
    'article': 'This is a test article.'
}
cu = table_cli.put_row(table_name='表名', pk_list=['pk1', 'pk2'], data=data)
print(cu)

Reference

class TableClient(object):
    def __init__(
                 self,
                 table_name,
                 instance_name,
                 end_point=None,
                 access_key_id=None, 
                 access_key_secret=None):
        ...

    def show_index(self, index_name='filter'):
        ...

    def put_row(self, table_name, pk_list, data):
        """
        写入数据,写入成功返回消耗cu.

        :param pk_list [list]: primary key name list. e.g. ['pk1', 'pk2']
        :param data [dict]: 包括主键在内的数据字典.
        """
        ... 

    def update_row(self, pk_list, data):
        """
        Update row

        :param pk_list [list]: primary key name list. e.g. ['pk1', 'pk2']
        :param data [dict]: 包括主键在内的数据字典.
        """
        ...

    def query(self, 
              table_name,
              must_query_list=[], 
              must_not_query_list=[], 
              should_query_list=[], 
              get_total_count=False, 
              sort_list=None, 
              index_name='filter', 
              column_to_get=None, 
              limit=None):
        """
        第一个版本的and查询.
        根据用户输入的查询条件构造阿里云查询.
        :param must_query_list [list]: 需要满足的查询条件列表, 不指定则默认为查询全部数据
        :param must_not_query_list [list]: 不查询的条件列表(满足这些条件的数据不查询)
        :param should_query_list [list]: 不查询的条件列表(满足这些条件的数据不查询)
        :param get_total_count [bool]: 是否需要获取查询到的总数量
        :param sort_list [list]: 列的排序列表,格式为list. 默认不排序
        :param limit [int]: 最多返回多少数量的数据
        :return: 查询到数据的迭代器,每个数据根据get_total_count的取值有所不同
        ...