このトピックでは、Tablestore SDK for Python を使用してデータテーブルの情報をクエリする方法について説明します。
前提条件
クライアントが初期化済みである必要があります。詳細については、「Tablestore クライアントの初期化」をご参照ください。
メソッドの説明
def describe_table(self, table_name)サンプルコード
以下のサンプルコードは、test_table テーブルの情報をクエリする方法を示しています。
try:
response = client.describe_table('test_table')
# テーブルスキーマを取得します。
table_meta = response.table_meta
print("* テーブル名: %s" % table_meta.table_name)
print("* プライマリキー情報")
for primary_key in table_meta.schema_of_primary_key:
print(primary_key)
print("* 事前定義カラム情報")
for defined_column in table_meta.defined_columns:
print(defined_column)
# テーブル構成を取得します。
table_options = response.table_options
print("* テーブル構成")
print("最大バージョン数: %s" % table_options.max_version)
print("有効期限 (TTL): %s" % table_options.time_to_live)
print("最大バージョンオフセット: %s" % table_options.max_time_deviation)
print("更新許可: %s" % table_options.allow_update)
# テーブル暗号化設定を取得します。
sse_details = response.sse_details
print("* テーブル暗号化構成")
print("テーブル暗号化の有効化: %s" % sse_details.enable)
if sse_details.enable:
if sse_details.key_type == SSEKeyType.SSE_KMS_SERVICE:
print("暗号化方式: KMS 暗号化")
else:
print("暗号化方式: BYOK 暗号化")
# テーブルの予約済み読み取り/書き込みスループットを取得します。
reserved_throughput_details = response.reserved_throughput_details
print("* 予約済み読み取り/書き込みスループット")
print("予約済み読み取りスループット: %s" % reserved_throughput_details.capacity_unit.read)
print("予約済み書き込みスループット: %s" % reserved_throughput_details.capacity_unit.write)
# セカンダリインデックス情報を取得します。
for index_meta in response.secondary_indexes:
print("* セカンダリインデックス名: %s" % index_meta.index_name)
print("プライマリキー列: %s" % index_meta.primary_key_names)
print("事前定義カラム: %s" % index_meta.defined_column_names)
print("セカンダリインデックスタイプ: %s" % SecondaryIndexType(index_meta.index_type).name)
except Exception as e:
print("テーブル情報のクエリに失敗しました。%s" % e)