すべてのプロダクト
Search
ドキュメントセンター

Tablestore:自動インクリメントプライマリキー列の使用

最終更新日:Aug 05, 2026

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_typeReturnType.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 (必須)

str

プライマリキー列の名前。

type (必須)

str

プライマリキー列の型。値を INTEGER に設定します。

option (必須)

PrimaryKeyOption

プライマリキーオプション。値を PK_AUTO_INCR に設定します。自動インクリメントプライマリキー列をパーティションキーにすることはできません。

書き込みパラメーター

put_row メソッドには、自動インクリメントプライマリキー列に関連する以下のパラメーターがあります。

名前

説明

table_name (必須)

str

テーブルの名前。

row (必須)

Row

書き込む行。自動インクリメントプライマリキー列の値を PK_AUTO_INCR に設定します。

return_type (オプション)

ReturnType

応答の型。書き込まれた行のプライマリキーを返すには、値を RT_PK に設定します。このパラメーターを指定しない場合、プライマリキーは返されません。

応答

put_row メソッドは、以下の情報を含むタプルを返します。

フィールド

説明

consumed

CapacityUnit

操作で消費された読み取りおよび書き込み CU。

return_row

Row

return_typeRT_PK に設定されている場合、このフィールドには Tablestore が生成した完全なプライマリキーが含まれます。それ以外の場合、値は None です。