@@ -164,7 +164,7 @@ def _request_helper(self, api_name, *args, **kwargs):
164164
165165 return self .protocol .parse_response (api_name , status , resheaders , resbody )
166166
167- def create_table (self , table_meta , table_options , reserved_throughput ):
167+ def create_table (self , table_meta , table_options , reserved_throughput , secondary_indexes = [] ):
168168 """
169169 说明:根据表信息创建表。
170170
@@ -174,6 +174,7 @@ def create_table(self, table_meta, table_options, reserved_throughput):
174174 ``table_options``是``tablestore.metadata.TableOptions``类的示例,它包含time_to_live,max_version和
175175 max_time_deviation三个参数。
176176 ``reserved_throughput``是``tablestore.metadata.ReservedThroughput``类的实例,表示预留读写吞吐量。
177+ ``secondary_indexes``是一个数组,可以包含一个或多个``tablestore.metadata.SecondaryIndexMeta``类的实例,表示要创建的二级索引。
177178
178179 返回:无。
179180
@@ -186,7 +187,7 @@ def create_table(self, table_meta, table_options, reserved_throughput):
186187 client.create_table(table_meta, table_options, reserved_throughput)
187188 """
188189
189- self ._request_helper ('CreateTable' , table_meta , table_options , reserved_throughput )
190+ self ._request_helper ('CreateTable' , table_meta , table_options , reserved_throughput , secondary_indexes )
190191
191192 def delete_table (self , table_name ):
192193 """
@@ -645,7 +646,7 @@ def create_search_index(self, table_name, index_name, index_meta):
645646 :type index_name: str
646647 :param index_name: The name of index.
647648
648- :type index_meta: tablestore.metadata.IndexMeta
649+ :type index_meta: tablestore.metadata.SearchIndexMeta
649650 :param index_meta: The definition of index, includes fields' schema, index setting and index pre-sorting configuration.
650651
651652 Example usage:
@@ -661,7 +662,7 @@ def create_search_index(self, table_name, index_name, index_meta):
661662 ])
662663 fields = [field_a, field_b, field_c, field_d, nested_field]
663664
664- index_meta = IndexMeta (fields, index_setting=None, index_sort=None)
665+ index_meta = SearchIndexMeta (fields, index_setting=None, index_sort=None)
665666 client.create_search_index('table_1', 'index_1', index_meta)
666667 """
667668
@@ -713,3 +714,35 @@ def search(self, table_name, index_name, search_query, columns_to_get=None, rout
713714
714715 return self ._request_helper ('Search' , table_name , index_name , search_query , columns_to_get , routing_keys )
715716
717+ def create_secondary_index (self , table_name , index_meta ):
718+ """
719+ Create a new secondary index.
720+
721+ :type table_name: str
722+ :param table_name: The name of table.
723+
724+ :type index_meta: tablestore.metadata.SecondaryIndexMeta
725+ :param index_meta: The definition of index.
726+
727+ Example usage:
728+ index_meta = SecondaryIndexMeta('index1', ['i', 's'], ['gid', 'uid', 'bool', 'b', 'd'])
729+ client.create_secondary_index(table_name, index_meta)
730+ """
731+
732+ return self ._request_helper ('CreateIndex' , table_name , index_meta )
733+
734+ def delete_secondary_index (self , table_name , index_name ):
735+ """
736+ Delete the secondary index.
737+
738+ :type table_name: str
739+ :param table_name: The name of table.
740+
741+ :type index_name: str
742+ :param index_name: The name of index.
743+
744+ Example usage:
745+ client.delete_secondary_index(table_name, index_name)
746+ """
747+
748+ return self ._request_helper ('DropIndex' , table_name , index_name )
0 commit comments