使用 Python SDK 設定主鍵列自增,並在寫入資料時擷取系統產生的自增值。
前提條件
安裝Tablestore Python SDK並初始化用戶端。主鍵列自增需要 4.0.0 及以上版本,建議使用最新版本。
功能說明
自增主鍵列由 Tablestore 自動產生 64 位元有符號整數值。產生的值在同一分區鍵內唯一且嚴格遞增,但不保證連續。
設定主鍵列自增
建立資料表時,將一個非分區鍵的 INTEGER 類型主鍵列設定為 PK_AUTO_INCR。每張資料表最多設定一個自增主鍵列;已建立的資料表無法再設定。
以下樣本建立包含分區鍵 id 和自增主鍵列 sequence_id 的 example_table。
table_meta = TableMeta(
"example_table",
[
("id", "STRING"),
("sequence_id", "INTEGER", PK_AUTO_INCR),
],
)
table_options = TableOptions()
reserved_throughput = ReservedThroughput(CapacityUnit(0, 0))
client.create_table(table_meta, table_options, reserved_throughput)
寫入資料並擷取自增值
寫入資料時,將自增主鍵列的值設定為 PK_AUTO_INCR。如需在後續查詢或更新中使用系統產生的值,將 return_type 設定為 ReturnType.RT_PK。
primary_key = [
("id", "device-001"),
("sequence_id", PK_AUTO_INCR),
]
attribute_columns = [("status", "online")]
row = Row(primary_key, attribute_columns)
_, return_row = client.put_row(
"example_table",
row,
return_type=ReturnType.RT_PK,
)
print(return_row.primary_key)
參數說明
自增主鍵列配置
schema_of_primary_key[] 中用於配置自增主鍵列的元組包含以下元素。
|
名稱 |
類型 |
說明 |
|
name(必選) |
|
主鍵列名稱。 |
|
type(必選) |
|
主鍵列類型,必須設定為 |
|
option(必選) |
|
主鍵列選項,必須設定為 |
寫入參數
put_row 方法包含以下與主鍵列自增相關的參數。
|
名稱 |
類型 |
說明 |
|
table_name(必選) |
|
資料表名稱。 |
|
row(必選) |
|
待寫入的行資料。自增主鍵列的值必須設定為 |
|
return_type(可選) |
|
傳回型別。設定為 |
傳回值
put_row 方法返回一個元組,包含以下資訊。
|
欄位 |
類型 |
說明 |
|
consumed |
|
本次操作消耗的讀寫 CU。 |
|
return_row |
|
將 |