全部產品
Search
文件中心

Tablestore:Python SDK

更新時間:Apr 09, 2025

本文介紹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)使用數值向量進行近似最近鄰查詢,可以在大規模資料集中找到最相似的資料項目。

並發匯出資料

當不關心整個結果集的順序時,可以使用並發匯出資料功能以更快的速度將命中的資料全部返回。

二級索引

建立二級索引

為資料表建立一個二級索引。

使用二級索引讀取資料

使用單行讀取和範圍讀取的方式查詢索引表中資料。如果所需屬性列已包含在索引表中,可以直接從索引表讀取,否則需要尋找資料表以擷取相關資料。

刪除二級索引

刪除資料表中指定的二級索引。

SQL查詢

建立映射關係

為已存在的表或者索引建立映射關係。

更新映射表屬性列

為已存在的映射表添加或刪除屬性列。

刪除映射表

刪除映射關係。

列出表名稱列表

列出當前資料庫中的映射表列表。

查詢表的描述資訊

查詢表的描述資訊,例如欄位名稱、欄位類型等。

查詢索引描述資訊

查詢表的索引描述資訊。

查詢資料

查詢表中的資料。

時序模型

功能類型

具體功能

描述資訊

時序表操作

建立時序表

建立一個時序表。

更新時序表

更新時序表或時間軸中繼資料配置。

列出時序表

查看執行個體中所有時序表的名稱及其配置資訊。

查詢時序表描述資訊

查詢時序表描述資訊,例如資料生命週期TTL配置等。

刪除時序表

刪除指定的時序表。

時序資料操作

寫入時序資料

寫入時序資料到時序表,支援批量寫入。

查詢時序資料

查詢指定時間軸中合格時序資料。

時間軸操作

檢索時間軸

指定多種條件檢索時間軸資訊,例如度量名稱、資料來源資訊等。

更新時間軸

更新時間軸中繼資料,支援批次更新。

刪除時間軸

刪除時間軸中繼資料,支援大量刪除。

SQL查詢

建立映射關係

為已存在的表或者索引建立映射關係。

更新映射表屬性列

為已存在的映射表添加或刪除屬性列。

刪除映射表

刪除映射關係。

列出表名稱列表

列出當前資料庫中的映射表列表。

查詢表的描述資訊

查詢表的描述資訊,例如欄位名稱、欄位類型等。

查詢索引描述資訊

查詢表的索引描述資訊。

查詢資料

查詢表中的資料。

相容性說明

當前最新版本為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歷史迭代版本

相關文檔

  • 如果要查看Python SDK源碼,請訪問GitHub

  • 如果要瞭解Python SDK錯誤處理方式,請參見錯誤處理

  • 如果要查看API資訊,請參見API概覽