Tablestore SDK for Python を使用して、データ書き込み時に自動インクリメントプライマリキー列を構成し、生成された値を取得します。
前提条件
Tablestore SDK for Python をインストールし、クライアントを初期化します。自動インクリメントプライマリキー列を使用するには、バージョン 4.0.0 以降が必要です。最新バージョンの使用を推奨します。
機能説明
Tablestore は、自動インクリメントプライマリキー列には符号付き 64 ビット整数を生成します。生成された値は、同じパーティションキー内で一意かつ厳密に増加しますが、連続しない場合があります。
自動インクリメントプライマリキー列の構成
テーブルを作成する際、INTEGER 型の非パーティションプライマリキー列を PK_AUTO_INCR に設定します。各テーブルには、最大 1 つの自動インクリメントプライマリキー列を設定できます。テーブル作成後に追加することはできません。
次の例では、パーティションキー 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 |
|
|