tablestore 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tablestore-3.0.0/CHANGELOG.rst +92 -0
- tablestore-3.0.0/LICENSE +14 -0
- tablestore-3.0.0/MANIFEST.in +3 -0
- tablestore-3.0.0/PKG-INFO +162 -0
- tablestore-3.0.0/README.rst +144 -0
- tablestore-3.0.0/examples/agg.py +375 -0
- tablestore-3.0.0/examples/batch_get_row.py +90 -0
- tablestore-3.0.0/examples/batch_write_row.py +89 -0
- tablestore-3.0.0/examples/create_timeseries_table.py +46 -0
- tablestore-3.0.0/examples/delete_row.py +70 -0
- tablestore-3.0.0/examples/example_config.py +7 -0
- tablestore-3.0.0/examples/full_text_search.py +345 -0
- tablestore-3.0.0/examples/get_range.py +117 -0
- tablestore-3.0.0/examples/get_row.py +82 -0
- tablestore-3.0.0/examples/group_by.py +253 -0
- tablestore-3.0.0/examples/parallel_scan.py +137 -0
- tablestore-3.0.0/examples/pk_auto_incr.py +102 -0
- tablestore-3.0.0/examples/put_get_timeseries_data.py +46 -0
- tablestore-3.0.0/examples/put_row.py +51 -0
- tablestore-3.0.0/examples/search_index.py +423 -0
- tablestore-3.0.0/examples/secondary_index_operations.py +81 -0
- tablestore-3.0.0/examples/set_tls.py +17 -0
- tablestore-3.0.0/examples/sql_query.py +78 -0
- tablestore-3.0.0/examples/table_operations.py +78 -0
- tablestore-3.0.0/examples/timeseries_meta_operations.py +69 -0
- tablestore-3.0.0/examples/transaction_and_abort.py +125 -0
- tablestore-3.0.0/examples/transaction_and_commit.py +125 -0
- tablestore-3.0.0/examples/update_row.py +74 -0
- tablestore-3.0.0/examples/vector_search.py +152 -0
- tablestore-3.0.0/setup.cfg +10 -0
- tablestore-3.0.0/setup.py +46 -0
- tablestore-3.0.0/tablestore/__init__.py +146 -0
- tablestore-3.0.0/tablestore/aggregation.py +136 -0
- tablestore-3.0.0/tablestore/client.py +943 -0
- tablestore-3.0.0/tablestore/connection.py +63 -0
- tablestore-3.0.0/tablestore/const.py +16 -0
- tablestore-3.0.0/tablestore/decoder.py +1162 -0
- tablestore-3.0.0/tablestore/encoder.py +1766 -0
- tablestore-3.0.0/tablestore/error.py +46 -0
- tablestore-3.0.0/tablestore/flatbuffer/__init__.py +0 -0
- tablestore-3.0.0/tablestore/flatbuffer/dataprotocol/BytesValue.py +120 -0
- tablestore-3.0.0/tablestore/flatbuffer/dataprotocol/ColumnValues.py +387 -0
- tablestore-3.0.0/tablestore/flatbuffer/dataprotocol/DataType.py +12 -0
- tablestore-3.0.0/tablestore/flatbuffer/dataprotocol/RLEStringValues.py +161 -0
- tablestore-3.0.0/tablestore/flatbuffer/dataprotocol/SQLResponseColumn.py +120 -0
- tablestore-3.0.0/tablestore/flatbuffer/dataprotocol/SQLResponseColumns.py +133 -0
- tablestore-3.0.0/tablestore/flatbuffer/dataprotocol/__init__.py +0 -0
- tablestore-3.0.0/tablestore/flatbuffer/flat_buffer_decoder.py +80 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/BytesValue.py +76 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/DataType.py +11 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/FieldValues.py +223 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/FlatBufferRowGroup.py +158 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/FlatBufferRowInGroup.py +143 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/FlatBufferRows.py +74 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/Tag.py +63 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries/__init__.py +0 -0
- tablestore-3.0.0/tablestore/flatbuffer/timeseries_flat_buffer_encoder.py +215 -0
- tablestore-3.0.0/tablestore/group_by.py +283 -0
- tablestore-3.0.0/tablestore/metadata.py +1350 -0
- tablestore-3.0.0/tablestore/plainbuffer/__init__.py +0 -0
- tablestore-3.0.0/tablestore/plainbuffer/plain_buffer_builder.py +241 -0
- tablestore-3.0.0/tablestore/plainbuffer/plain_buffer_coded_stream.py +479 -0
- tablestore-3.0.0/tablestore/plainbuffer/plain_buffer_consts.py +52 -0
- tablestore-3.0.0/tablestore/plainbuffer/plain_buffer_crc8.py +77 -0
- tablestore-3.0.0/tablestore/plainbuffer/plain_buffer_stream.py +117 -0
- tablestore-3.0.0/tablestore/protobuf/__init__.py +0 -0
- tablestore-3.0.0/tablestore/protobuf/search_pb2.py +280 -0
- tablestore-3.0.0/tablestore/protobuf/table_store_filter_pb2.py +38 -0
- tablestore-3.0.0/tablestore/protobuf/table_store_pb2.py +206 -0
- tablestore-3.0.0/tablestore/protobuf/timeseries_pb2.py +153 -0
- tablestore-3.0.0/tablestore/protocol.py +314 -0
- tablestore-3.0.0/tablestore/retry.py +163 -0
- tablestore-3.0.0/tablestore/timeseries_condition.py +102 -0
- tablestore-3.0.0/tablestore/types.py +42 -0
- tablestore-3.0.0/tablestore/utils.py +21 -0
- tablestore-3.0.0/tablestore.egg-info/PKG-INFO +162 -0
- tablestore-3.0.0/tablestore.egg-info/SOURCES.txt +101 -0
- tablestore-3.0.0/tablestore.egg-info/dependency_links.txt +1 -0
- tablestore-3.0.0/tablestore.egg-info/requires.txt +9 -0
- tablestore-3.0.0/tablestore.egg-info/top_level.txt +2 -0
- tablestore-3.0.0/tests/__init__.py +0 -0
- tablestore-3.0.0/tests/agg_test.py +552 -0
- tablestore-3.0.0/tests/decoder_unittest.py +55 -0
- tablestore-3.0.0/tests/enum_test.py +18 -0
- tablestore-3.0.0/tests/filter_and_condition_update_unitttest.py +1006 -0
- tablestore-3.0.0/tests/full_text_search_test.py +390 -0
- tablestore-3.0.0/tests/group_by_test.py +238 -0
- tablestore-3.0.0/tests/lib/__init__.py +0 -0
- tablestore-3.0.0/tests/lib/api_test_base.py +387 -0
- tablestore-3.0.0/tests/lib/mock_connection.py +264 -0
- tablestore-3.0.0/tests/lib/restriction.py +24 -0
- tablestore-3.0.0/tests/lib/test_config.py +7 -0
- tablestore-3.0.0/tests/parallel_scan_test.py +211 -0
- tablestore-3.0.0/tests/row_op_test.py +1334 -0
- tablestore-3.0.0/tests/sdk_param_unittest.py +447 -0
- tablestore-3.0.0/tests/search_index_test.py +613 -0
- tablestore-3.0.0/tests/sql_query_test.py +155 -0
- tablestore-3.0.0/tests/table_operation_test.py +305 -0
- tablestore-3.0.0/tests/timeseries_api_test.py +296 -0
- tablestore-3.0.0/tests/timeseries_flat_buffer_unittest.py +101 -0
- tablestore-3.0.0/tests/timeseries_meta_condition_test.py +164 -0
- tablestore-3.0.0/tests/transaction_test.py +425 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
Tablestore SDK for Python 版本记录
|
|
2
|
+
===========================
|
|
3
|
+
|
|
4
|
+
Python SDK 的版本号遵循 `Semantic Versioning <http://semver.org/>`_ 规则。
|
|
5
|
+
|
|
6
|
+
Version 6.1.0
|
|
7
|
+
-------------
|
|
8
|
+
- Support some timeseries api.
|
|
9
|
+
- Update protobuf to ">=3.20.0,<=5.27.4"
|
|
10
|
+
- Refine util shell 'protoc.sh'
|
|
11
|
+
|
|
12
|
+
Version 6.0.1
|
|
13
|
+
-------------
|
|
14
|
+
- Fix incompatible changes in delete_row
|
|
15
|
+
|
|
16
|
+
Version 6.0.0
|
|
17
|
+
-------------
|
|
18
|
+
|
|
19
|
+
- Update protobuf from 3.19.0 to 4.25.0
|
|
20
|
+
- Support Python 3.8、Python 3.9、Python 3.10、Python 3.11、Python 3.12
|
|
21
|
+
- Support Highlight
|
|
22
|
+
|
|
23
|
+
Version 5.4.3
|
|
24
|
+
-------------
|
|
25
|
+
|
|
26
|
+
- Support SearchIndex Knn Vector Query
|
|
27
|
+
|
|
28
|
+
Version 5.2.1
|
|
29
|
+
-------------
|
|
30
|
+
|
|
31
|
+
- Optimize SearchResponse
|
|
32
|
+
|
|
33
|
+
Version 5.2.0
|
|
34
|
+
-------------
|
|
35
|
+
|
|
36
|
+
- Support ParallelScan API
|
|
37
|
+
- Support Max/Min/Avg/Sum/Count/DistinctCount
|
|
38
|
+
- Support GroupBy API
|
|
39
|
+
|
|
40
|
+
Version 4.3.5
|
|
41
|
+
-------------
|
|
42
|
+
|
|
43
|
+
- Fix bytearray encode bug
|
|
44
|
+
|
|
45
|
+
Version 4.3.4
|
|
46
|
+
-------------
|
|
47
|
+
|
|
48
|
+
- replace protobuf-py3 by protobuf
|
|
49
|
+
|
|
50
|
+
Version 4.3.2
|
|
51
|
+
-------------
|
|
52
|
+
|
|
53
|
+
- remove crcmod
|
|
54
|
+
|
|
55
|
+
Version 4.3.0
|
|
56
|
+
-------------
|
|
57
|
+
|
|
58
|
+
- Support Python 3.3+
|
|
59
|
+
|
|
60
|
+
Version 4.2.0
|
|
61
|
+
-------------
|
|
62
|
+
|
|
63
|
+
- Support STS
|
|
64
|
+
|
|
65
|
+
Version 4.1.0
|
|
66
|
+
-------------
|
|
67
|
+
|
|
68
|
+
- Support Python 2.6
|
|
69
|
+
|
|
70
|
+
Version 4.0.0
|
|
71
|
+
-------------
|
|
72
|
+
|
|
73
|
+
- 支持主键列自增功能
|
|
74
|
+
- 支持多版本
|
|
75
|
+
- 支持TTL
|
|
76
|
+
- 增大重试时间
|
|
77
|
+
|
|
78
|
+
Version 2.0.8
|
|
79
|
+
-------------
|
|
80
|
+
|
|
81
|
+
- 支持https访问和证书验证
|
|
82
|
+
|
|
83
|
+
Version 2.0.7
|
|
84
|
+
-------------
|
|
85
|
+
|
|
86
|
+
- 根据按量计费方式,调整了示例代码中的预留CU设置
|
|
87
|
+
|
|
88
|
+
Version 2.0.6
|
|
89
|
+
-------------
|
|
90
|
+
|
|
91
|
+
- 调整了部分异常情况下的重试退避策略
|
|
92
|
+
|
tablestore-3.0.0/LICENSE
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Copyright (c) 2017 aliyun.com
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
4
|
+
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
|
5
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
|
6
|
+
permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
7
|
+
|
|
8
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
|
9
|
+
Software.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
12
|
+
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
13
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
14
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: tablestore
|
|
3
|
+
Version: 3.0.0
|
|
4
|
+
Summary: Aliyun TableStore(OTS) SDK
|
|
5
|
+
Home-page: https://cn.aliyun.com/product/ots
|
|
6
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
7
|
+
Classifier: Intended Audience :: Developers
|
|
8
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Classifier: Programming Language :: Python
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
|
|
19
|
+
Aliyun Tablestore SDK for Python
|
|
20
|
+
==================================
|
|
21
|
+
|
|
22
|
+
.. image:: https://img.shields.io/badge/license-apache2-brightgreen.svg
|
|
23
|
+
:target: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk
|
|
24
|
+
.. image:: https://badge.fury.io/gh/aliyun%2Faliyun-tablestore-python-sdk.svg
|
|
25
|
+
:target: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk
|
|
26
|
+
.. image:: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk.svg
|
|
27
|
+
:target: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk
|
|
28
|
+
|
|
29
|
+
概述
|
|
30
|
+
----
|
|
31
|
+
|
|
32
|
+
- 此 Python SDK 基于 `阿里云表格存储服务 <http://www.aliyun.com/product/ots/>`_ API 构建。
|
|
33
|
+
- 阿里云表格存储是构建在阿里云飞天分布式系统之上的 NoSQL 数据存储服务,提供海量结构化数据的存储和实时访问。
|
|
34
|
+
|
|
35
|
+
运行环境
|
|
36
|
+
---------
|
|
37
|
+
|
|
38
|
+
- 安装 Python 即可运行,支持 python3.8、Python3.9、python3.10、python3.11、python3.12。
|
|
39
|
+
|
|
40
|
+
安装方法
|
|
41
|
+
---------
|
|
42
|
+
|
|
43
|
+
PIP安装
|
|
44
|
+
--------
|
|
45
|
+
|
|
46
|
+
.. code-block:: bash
|
|
47
|
+
|
|
48
|
+
$ pip install tablestore
|
|
49
|
+
|
|
50
|
+
Github安装
|
|
51
|
+
------------
|
|
52
|
+
|
|
53
|
+
1. 下载源码
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
.. code-block:: bash
|
|
57
|
+
|
|
58
|
+
$ git clone https://github.com/aliyun/aliyun-tablestore-python-sdk.git
|
|
59
|
+
|
|
60
|
+
2. 安装
|
|
61
|
+
|
|
62
|
+
.. code-block:: bash
|
|
63
|
+
|
|
64
|
+
$ python setup.py install
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
源码安装
|
|
68
|
+
--------
|
|
69
|
+
|
|
70
|
+
1. 下载 SDK 发布包并解压
|
|
71
|
+
2. 安装
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
.. code-block:: bash
|
|
75
|
+
|
|
76
|
+
$ python setup.py install
|
|
77
|
+
|
|
78
|
+
示例代码
|
|
79
|
+
---------
|
|
80
|
+
|
|
81
|
+
表(Table)示例:
|
|
82
|
+
|
|
83
|
+
- `表操作(表的创建、获取、更新和删除) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/table_operations.py>`_
|
|
84
|
+
- `单行写(向表内写入一行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/put_row.py>`_
|
|
85
|
+
- `单行读(从表内读出一样数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/get_row.py>`_
|
|
86
|
+
- `更新单行(更新某一行的部分字段) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/update_row.py>`_
|
|
87
|
+
- `删除某行(从表内删除某一行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/delete_row.py>`_
|
|
88
|
+
- `批量写(向多张表,一次性写入多行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/batch_write_row.py>`_
|
|
89
|
+
- `批量读(从多张表,一次性读出多行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/batch_get_row.py>`_
|
|
90
|
+
- `范围扫描(给定一个范围,扫描出该范围内的所有数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/get_range.py>`_
|
|
91
|
+
- `主键自增列(主键自动生成一个递增ID) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/pk_auto_incr.py>`_
|
|
92
|
+
- `全局二级索引 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/secondary_index_operations.py>`_
|
|
93
|
+
- `局部事务(提交事务) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/transaction_and_commit.py>`_
|
|
94
|
+
- `局部事务(舍弃事务) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/transaction_and_abort.py>`_
|
|
95
|
+
|
|
96
|
+
多元索引(Search)示例:
|
|
97
|
+
|
|
98
|
+
- `基础搜索 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/search_index.py>`_
|
|
99
|
+
- `并发圈选数据 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/parallel_scan.py>`_
|
|
100
|
+
- `全文检索 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/full_text_search.py>`_
|
|
101
|
+
- `向量检索 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/parallel_scan.py>`_
|
|
102
|
+
- `Max/Min/Sum/Avg/Count/DistinctCount 等 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/agg.py>`_
|
|
103
|
+
- `GroupBy/Histogram 等 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/group_by.py>`_
|
|
104
|
+
|
|
105
|
+
执行测试
|
|
106
|
+
---------
|
|
107
|
+
|
|
108
|
+
**注意:测试 case 中会有清理某个实例下所有表的动作,所以请使用专门的测试实例来测试。**
|
|
109
|
+
|
|
110
|
+
1. 测试前准备
|
|
111
|
+
|
|
112
|
+
.. code-block:: bash
|
|
113
|
+
|
|
114
|
+
$ /bin/bash tests_setup.sh
|
|
115
|
+
|
|
116
|
+
2. 安装nosetests
|
|
117
|
+
|
|
118
|
+
.. code-block:: bash
|
|
119
|
+
|
|
120
|
+
$ pip install nose
|
|
121
|
+
|
|
122
|
+
3. 设置执行Case的配置
|
|
123
|
+
|
|
124
|
+
.. code-block:: bash
|
|
125
|
+
|
|
126
|
+
$ export OTS_TEST_ACCESS_KEY_ID=<your access key id>
|
|
127
|
+
$ export OTS_TEST_ACCESS_KEY_SECRET=<your access key secret>
|
|
128
|
+
$ export OTS_TEST_ENDPOINT=<tablestore service endpoint>
|
|
129
|
+
$ export OTS_TEST_INSTANCE=<tablestore instance name>
|
|
130
|
+
|
|
131
|
+
4. 运行case
|
|
132
|
+
|
|
133
|
+
python3.8、Python3.9、python3.10、python3.11可使用以下命令
|
|
134
|
+
|
|
135
|
+
.. code-block:: bash
|
|
136
|
+
|
|
137
|
+
$ export PYTHONPATH=$(pwd)/tests:$PYTHONPATH; nosetests tests/
|
|
138
|
+
|
|
139
|
+
python3.12可使用以下命令
|
|
140
|
+
|
|
141
|
+
.. code-block:: bash
|
|
142
|
+
|
|
143
|
+
$ /bin/bash tests_run.sh
|
|
144
|
+
|
|
145
|
+
编译proto文件
|
|
146
|
+
----------------
|
|
147
|
+
.. code-block:: bash
|
|
148
|
+
|
|
149
|
+
$ /bin/bash protoc.sh
|
|
150
|
+
|
|
151
|
+
贡献代码
|
|
152
|
+
--------
|
|
153
|
+
- 我们非常欢迎大家为 Tablestore Python SDK 以及其他 Tablestore SDK 贡献代码。
|
|
154
|
+
- 非常感谢 `@Wall-ee <https://github.com/Wall-ee>`_ 对 4.3.0 版本的贡献。
|
|
155
|
+
|
|
156
|
+
联系我们
|
|
157
|
+
--------
|
|
158
|
+
- `阿里云 Tablestore 官方网站 <http://www.aliyun.com/product/ots>`_
|
|
159
|
+
- `阿里云官网联系方式 <https://help.aliyun.com/document_detail/61890.html>`_
|
|
160
|
+
- `阿里云 Tablestore 官方文档 <https://help.aliyun.com/zh/tablestore/product-overview>`_
|
|
161
|
+
|
|
162
|
+
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
Aliyun Tablestore SDK for Python
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
.. image:: https://img.shields.io/badge/license-apache2-brightgreen.svg
|
|
5
|
+
:target: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk
|
|
6
|
+
.. image:: https://badge.fury.io/gh/aliyun%2Faliyun-tablestore-python-sdk.svg
|
|
7
|
+
:target: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk
|
|
8
|
+
.. image:: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk.svg
|
|
9
|
+
:target: https://travis-ci.org/aliyun/aliyun-tablestore-python-sdk
|
|
10
|
+
|
|
11
|
+
概述
|
|
12
|
+
----
|
|
13
|
+
|
|
14
|
+
- 此 Python SDK 基于 `阿里云表格存储服务 <http://www.aliyun.com/product/ots/>`_ API 构建。
|
|
15
|
+
- 阿里云表格存储是构建在阿里云飞天分布式系统之上的 NoSQL 数据存储服务,提供海量结构化数据的存储和实时访问。
|
|
16
|
+
|
|
17
|
+
运行环境
|
|
18
|
+
---------
|
|
19
|
+
|
|
20
|
+
- 安装 Python 即可运行,支持 python3.8、Python3.9、python3.10、python3.11、python3.12。
|
|
21
|
+
|
|
22
|
+
安装方法
|
|
23
|
+
---------
|
|
24
|
+
|
|
25
|
+
PIP安装
|
|
26
|
+
--------
|
|
27
|
+
|
|
28
|
+
.. code-block:: bash
|
|
29
|
+
|
|
30
|
+
$ pip install tablestore
|
|
31
|
+
|
|
32
|
+
Github安装
|
|
33
|
+
------------
|
|
34
|
+
|
|
35
|
+
1. 下载源码
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
.. code-block:: bash
|
|
39
|
+
|
|
40
|
+
$ git clone https://github.com/aliyun/aliyun-tablestore-python-sdk.git
|
|
41
|
+
|
|
42
|
+
2. 安装
|
|
43
|
+
|
|
44
|
+
.. code-block:: bash
|
|
45
|
+
|
|
46
|
+
$ python setup.py install
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
源码安装
|
|
50
|
+
--------
|
|
51
|
+
|
|
52
|
+
1. 下载 SDK 发布包并解压
|
|
53
|
+
2. 安装
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
.. code-block:: bash
|
|
57
|
+
|
|
58
|
+
$ python setup.py install
|
|
59
|
+
|
|
60
|
+
示例代码
|
|
61
|
+
---------
|
|
62
|
+
|
|
63
|
+
表(Table)示例:
|
|
64
|
+
|
|
65
|
+
- `表操作(表的创建、获取、更新和删除) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/table_operations.py>`_
|
|
66
|
+
- `单行写(向表内写入一行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/put_row.py>`_
|
|
67
|
+
- `单行读(从表内读出一样数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/get_row.py>`_
|
|
68
|
+
- `更新单行(更新某一行的部分字段) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/update_row.py>`_
|
|
69
|
+
- `删除某行(从表内删除某一行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/delete_row.py>`_
|
|
70
|
+
- `批量写(向多张表,一次性写入多行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/batch_write_row.py>`_
|
|
71
|
+
- `批量读(从多张表,一次性读出多行数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/batch_get_row.py>`_
|
|
72
|
+
- `范围扫描(给定一个范围,扫描出该范围内的所有数据) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/get_range.py>`_
|
|
73
|
+
- `主键自增列(主键自动生成一个递增ID) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/pk_auto_incr.py>`_
|
|
74
|
+
- `全局二级索引 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/secondary_index_operations.py>`_
|
|
75
|
+
- `局部事务(提交事务) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/transaction_and_commit.py>`_
|
|
76
|
+
- `局部事务(舍弃事务) <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/transaction_and_abort.py>`_
|
|
77
|
+
|
|
78
|
+
多元索引(Search)示例:
|
|
79
|
+
|
|
80
|
+
- `基础搜索 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/search_index.py>`_
|
|
81
|
+
- `并发圈选数据 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/parallel_scan.py>`_
|
|
82
|
+
- `全文检索 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/full_text_search.py>`_
|
|
83
|
+
- `向量检索 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/parallel_scan.py>`_
|
|
84
|
+
- `Max/Min/Sum/Avg/Count/DistinctCount 等 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/agg.py>`_
|
|
85
|
+
- `GroupBy/Histogram 等 <https://github.com/aliyun/aliyun-tablestore-python-sdk/blob/master/examples/group_by.py>`_
|
|
86
|
+
|
|
87
|
+
执行测试
|
|
88
|
+
---------
|
|
89
|
+
|
|
90
|
+
**注意:测试 case 中会有清理某个实例下所有表的动作,所以请使用专门的测试实例来测试。**
|
|
91
|
+
|
|
92
|
+
1. 测试前准备
|
|
93
|
+
|
|
94
|
+
.. code-block:: bash
|
|
95
|
+
|
|
96
|
+
$ /bin/bash tests_setup.sh
|
|
97
|
+
|
|
98
|
+
2. 安装nosetests
|
|
99
|
+
|
|
100
|
+
.. code-block:: bash
|
|
101
|
+
|
|
102
|
+
$ pip install nose
|
|
103
|
+
|
|
104
|
+
3. 设置执行Case的配置
|
|
105
|
+
|
|
106
|
+
.. code-block:: bash
|
|
107
|
+
|
|
108
|
+
$ export OTS_TEST_ACCESS_KEY_ID=<your access key id>
|
|
109
|
+
$ export OTS_TEST_ACCESS_KEY_SECRET=<your access key secret>
|
|
110
|
+
$ export OTS_TEST_ENDPOINT=<tablestore service endpoint>
|
|
111
|
+
$ export OTS_TEST_INSTANCE=<tablestore instance name>
|
|
112
|
+
|
|
113
|
+
4. 运行case
|
|
114
|
+
|
|
115
|
+
python3.8、Python3.9、python3.10、python3.11可使用以下命令
|
|
116
|
+
|
|
117
|
+
.. code-block:: bash
|
|
118
|
+
|
|
119
|
+
$ export PYTHONPATH=$(pwd)/tests:$PYTHONPATH; nosetests tests/
|
|
120
|
+
|
|
121
|
+
python3.12可使用以下命令
|
|
122
|
+
|
|
123
|
+
.. code-block:: bash
|
|
124
|
+
|
|
125
|
+
$ /bin/bash tests_run.sh
|
|
126
|
+
|
|
127
|
+
编译proto文件
|
|
128
|
+
----------------
|
|
129
|
+
.. code-block:: bash
|
|
130
|
+
|
|
131
|
+
$ /bin/bash protoc.sh
|
|
132
|
+
|
|
133
|
+
贡献代码
|
|
134
|
+
--------
|
|
135
|
+
- 我们非常欢迎大家为 Tablestore Python SDK 以及其他 Tablestore SDK 贡献代码。
|
|
136
|
+
- 非常感谢 `@Wall-ee <https://github.com/Wall-ee>`_ 对 4.3.0 版本的贡献。
|
|
137
|
+
|
|
138
|
+
联系我们
|
|
139
|
+
--------
|
|
140
|
+
- `阿里云 Tablestore 官方网站 <http://www.aliyun.com/product/ots>`_
|
|
141
|
+
- `阿里云官网联系方式 <https://help.aliyun.com/document_detail/61890.html>`_
|
|
142
|
+
- `阿里云 Tablestore 官方文档 <https://help.aliyun.com/zh/tablestore/product-overview>`_
|
|
143
|
+
|
|
144
|
+
|