本文介紹TablestorePython SDK。
注意事項
Table StorePython SDK從6.0.0版本開始僅支援Python 3(推薦Python 3.8及以上版本),不再支援Python 2。
重要如果您需要使用Python 2,請選擇5.4.4版本之前的Python SDK。
如果使用HTTPS協議訪問Tablestore資源,推薦使用最新版本的Python SDK,並確保OpenSSL版本至少為0.9.8j(推薦1.0.2d)。
Python SDK已包含certifi包,可直接使用。如需更新根憑證,請從根憑證下載最新版本。
準備工作
功能列表
TablestorePython SDK支援寬表模型和時序模型的操作,具體功能請參見下表。
寬表模型
功能類型 | 功能操作 | 描述資訊 |
建立一個資料表。 | ||
更新資料表的配置資訊。 | ||
查看執行個體中所有資料表的名稱。 | ||
查詢資料表的配置資訊。 | ||
刪除指定的資料表。 | ||
將資料表中非分區鍵的主鍵列設定為自增列後,在寫入資料時無需為自增列設定具體值,Tablestore將自動產生自增列的值。 | ||
只有在資料滿足更新條件的情況下,才能對錶中資料進行更新,否則資料更新失敗並給使用者報錯。 | ||
為資料表開啟局部事務後,建立資料範圍在一個分區索引值內的局部事務用於資料讀寫操作。 | ||
將列當成一個原子計數器使用,對該列進行原子計數操作。 | ||
在服務端對讀取結果再進行一次過濾,根據過濾器(Filter)中的條件決定返回的資料。 | ||
向資料表中寫入資料。 | ||
從資料表中讀取資料。 | ||
刪除資料表中的資料。 | ||
為資料表建立一個多元索引。 | ||
列出指定表下的多元索引。 | ||
更新多元索引的資料生命週期。 | ||
查詢多元索引的描述資訊,包括多元索引的欄位資訊和索引配置等。 | ||
刪除指定的多元索引。 | ||
按需清理多元索引中的歷史資料或者延長資料儲存時間。 | ||
基礎查詢類型包括全匹配查詢、精確查詢、多詞精確查詢、首碼查詢、範圍查詢、萬用字元查詢、列存在性查詢、摺疊(去重)、地理位置查詢和巢狀型別查詢。 | ||
查詢條件支援包含一個或者多個子查詢條件,根據子查詢條件來判斷資料是否滿足查詢條件。 | ||
使用多元索引查詢資料時,您可以按照指定相片順序擷取到返回資料;當返回結果行數較多時,通過使用跳轉翻頁或者連續翻頁可以快速定位到所需資料。 | ||
可以實現求最小值、求最大值、求和、求平均值、統計行數、去重統計行數、按欄位值分組、按範圍分組、按地理位置分組、按過濾條件分組等操作;同時多個統計彙總功能可以組合使用,滿足複雜的查詢需求。 | ||
向量檢索(KnnVectorQuery)使用數值向量進行近似最近鄰查詢,可以在大規模資料集中找到最相似的資料項目。 | ||
當不關心整個結果集的順序時,可以使用並發匯出資料功能以更快的速度將命中的資料全部返回。 | ||
為資料表建立一個二級索引。 | ||
使用單行讀取和範圍讀取的方式查詢索引表中資料。如果所需屬性列已包含在索引表中,可以直接從索引表讀取,否則需要尋找資料表以擷取相關資料。 | ||
刪除資料表中指定的二級索引。 | ||
為已存在的表或者索引建立映射關係。 | ||
為已存在的映射表添加或刪除屬性列。 | ||
刪除映射關係。 | ||
列出當前資料庫中的映射表列表。 | ||
查詢表的描述資訊,例如欄位名稱、欄位類型等。 | ||
查詢表的索引描述資訊。 | ||
查詢表中的資料。 |
時序模型
功能類型 | 具體功能 | 描述資訊 |
建立一個時序表。 | ||
更新時序表或時間軸中繼資料配置。 | ||
查看執行個體中所有時序表的名稱及其配置資訊。 | ||
查詢時序表描述資訊,例如資料生命週期TTL配置等。 | ||
刪除指定的時序表。 | ||
寫入時序資料到時序表,支援批量寫入。 | ||
查詢指定時間軸中合格時序資料。 | ||
指定多種條件檢索時間軸資訊,例如度量名稱、資料來源資訊等。 | ||
更新時間軸中繼資料,支援批次更新。 | ||
刪除時間軸中繼資料,支援大量刪除。 | ||
為已存在的表或者索引建立映射關係。 | ||
為已存在的映射表添加或刪除屬性列。 | ||
刪除映射關係。 | ||
列出當前資料庫中的映射表列表。 | ||
查詢表的描述資訊,例如欄位名稱、欄位類型等。 | ||
查詢表的索引描述資訊。 | ||
查詢表中的資料。 |
相容性說明
當前最新版本為6.x.x版本,新版本對歷史版本的相容性如下:
對5.x.x系列的SDK相容。
5.4.x版本、5.3.x版本和5.2.x版本相容。5.2.1和5.1.0在如下情況不相容:
Search介面返回結果的類型。
5.1.0及以前版本的返回結果預設為Tuple類型。從5.2.0開始預設返回結果為SearchResponse對象,SearchResponse已實現
__iter__
方法,支援遍曆;如果需要返回Tuple類型的結果,請使用SearchResponse.v1_response()
方法實現。新增ParallelScan介面。
預設返回結果為ParallelScanResponse對象。如果需要返回Tuple類型的結果,請使用
ParallelScanResponse.v1_response()
方法實現。
對4.x.x系列的SDK相容。
對2.x.x系列的SDK不相容,原因是2.0系列版本中支援主鍵亂序,而4.0.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值。
關於SDK版本迭代的更多資訊,請參見Python SDK歷史迭代版本。