TableService クラス

これは、Azure Table リソースを管理するメイン クラスです。

Azure Table Service は、テーブルの形式で構造化されたストレージを提供します。 テーブルには、データがエンティティのコレクションとして格納されます。 エンティティは行に似ています。 エンティティには、プライマリ キーと一連のプロパティがあります。 プロパティは名前と型指定された値のペアであり、列に似ています。 テーブル サービスではテーブルにスキーマを設定しないため、同じテーブル内の 2 つのエンティティが異なるプロパティのセットを持つ場合があります。 開発者は、クライアント側でスキーマを設定することもできます。 テーブルには、エンティティをいくつでも含めることができます。

継承
TableService

コンストラクター

TableService(account_name=None, account_key=None, sas_token=None, is_emulated=False, protocol='https', endpoint_suffix='core.windows.net', request_session=None, connection_string=None, socket_timeout=None)

パラメーター

名前 説明
account_name
str

ストレージ アカウント名。 これは、アカウント キーで署名された要求を認証し、ストレージ エンドポイントを構築するために使用されます。 接続文字列が指定されていない限り、これは必須です。

既定値: None
account_key
str

ストレージ アカウント キー。 これは、共有キー認証に使用されます。

既定値: None
sas_token
str

アカウント キーの代わりに要求を認証するために使用する共有アクセス署名トークン。 アカウント キーと sas トークンの両方が指定されている場合は、アカウント キーを使用して署名します。

既定値: None
is_emulated

エミュレーターを使用するかどうか。 既定値は False です。 を指定すると、接続文字列と要求セッション以外の他のすべてのパラメーターがオーバーライドされます。

既定値: False
protocol
str

要求に使用するプロトコル。 既定値は https です。

既定値: https
endpoint_suffix
str

URL のホスト ベース コンポーネントからアカウント名を差し引いた値。 既定値は Azure (core.windows.net)。 これをオーバーライドして China クラウド (core.chinacloudapi.cn) を使用します。

既定値: core.windows.net
request_session
<xref:requests.Session>

http 要求に使用するセッション オブジェクト。

既定値: None
connection_string
str

指定すると、要求セッション以外の他のすべてのパラメーターがオーバーライドされます。 接続文字列の形式については、「」を参照してください http://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/

既定値: None
socket_timeout
int

指定すると、既定のソケット タイムアウトがオーバーライドされます。 指定されたタイムアウトは秒単位です。 既定値については、「_constants.py のDEFAULT_SOCKET_TIMEOUT」を参照してください。

既定値: None

変数

名前 説明
key_encryption_key

ユーザーが必要に応じて提供するキー暗号化キー。 指定されている場合は、 を使用して、サポートされているメソッドで暗号化/暗号化解除を行います。 復号化を必要とするメソッドの場合は、key_encryption_keyまたはリゾルバーを指定する必要があります。 両方が指定されている場合は、競合回避モジュールが優先されます。 暗号化を必要とする API には、次のメソッドを実装する必要があります。wrap_key(key)、ユーザーが選択したアルゴリズムを使用して、指定したキー (バイト) をラップします。 暗号化されたキーをバイトとして返します。 get_key_wrap_algorithm():指定した対称キーをラップするために使用されるアルゴリズムを返します。 get_kid()は、このキー暗号化キーの文字列キー ID を返します。 復号化を必要とする API には、次のメソッドを実装する必要があります。unwrap_key(key, algorithm)、文字列指定アルゴリズムを使用して、指定された対称キーのラップされていない形式を返します。 get_kid()は、このキー暗号化キーの文字列キー ID を返します。

key_resolver_function
kid) (<xref:function>

ユーザーが必要に応じて提供するキーを解決する関数。 指定されている場合は、 を使用して、サポートされているメソッドで暗号化を解除します。 復号化を必要とするメソッドの場合は、key_encryption_keyまたはリゾルバーを指定する必要があります。 両方が指定されている場合は、競合回避モジュールが優先されます。 kid 文字列を使用して、上記で定義したインターフェイスを実装するキー暗号化キーを返します。

encryption_resolver_functions
<xref:function>(<xref:partition_key>, <xref:row_key>, <xref:property_name>)

エンティティのパーティション キー、行キー、およびプロパティ名を受け取り、そのプロパティを暗号化する必要があるかどうかを示すブール値を返す関数。

require_encryption

すべてのメッセージがキューに正常にアップロードされ、キューからダウンロードおよび正常に読み取られたすべてのメッセージが、サーバー上で暗号化/暗号化されていることを確認するために設定できるフラグ。 このフラグが設定されている場合は、暗号化/復号化に必要なすべてのパラメーターを指定する必要があります。 key_encryption_keyと競合回避モジュールについては、上記のコメントを参照してください。

メソッド

batch

コンテキスト マネージャーとして使用できるバッチ オブジェクトを作成します。 終了時にバッチをコミットします。

commit_batch

要求を <xref:azure.storage.table.TableBatch> コミットします。

create_table

ストレージ アカウントに新しいテーブルを作成します。

delete_entity

テーブル内の既存のエンティティを削除します。 エンティティが存在しない場合は をスローします。

正常に削除されたエンティティは、その時点で削除対象としてマークされ、クライアントからアクセスできなくなります。 このエンティティは、後でガベージ コレクション中に Table Service から削除されます。

delete_table

指定したテーブルとそのテーブルに含まれるすべてのデータを削除します。

正常に削除されたテーブルは、その時点で削除対象としてマークされ、クライアントからアクセスできなくなります。 このテーブルは、後でガベージ コレクション中に Table Service から削除されます。

テーブルの削除は、完了するまで少なくとも 40 秒はかかる可能性があります。 削除中にテーブルに対して操作が試行されると、 <xref:azure.cosmosdb.table.tableservice.AzureConflictHttpError> がスローされます。

exists

テーブルが存在するかどうかを示すブール値を返します。

extract_date_and_request_id
generate_account_shared_access_signature

テーブル サービスの共有アクセス署名を生成します。 返されたシグネチャは、TableService の sas_token パラメーターと共に使用します。

generate_table_shared_access_signature

テーブルの共有アクセス署名を生成します。 返されたシグネチャは、TableService の sas_token パラメーターと共に使用します。

get_entity

指定したテーブルからエンティティを取得します。 エンティティが存在しない場合は をスローします。

get_table_acl

共有アクセス署名と共に使用できる、テーブルで指定された保存されているアクセス ポリシーの詳細を返します。

get_table_service_properties

ログ記録、分析、CORS ルールなど、ストレージ アカウントの Table サービスのプロパティを取得します。

get_table_service_stats

Table Service のレプリケーションに関連する統計情報を取得します。 これは、ストレージ アカウントに対して読み取りアクセス geo 冗長レプリケーションが有効になっている場合にのみ使用できます。

地理冗長レプリケーションでは、Azure ストレージによって 2 か所でデータの持続性が維持されます。 両方の場所で、Azure ストレージは継続的にデータの複数の正常なレプリカを維持します。 データの読み取り、作成、更新、または削除を行う場所は、1 次ストレージ アカウント拠点です。 プライマリの場所は、Azure Management Azure クラシック ポータル (米国中北部など) を使用してアカウントを作成するときに選択したリージョンに存在します。 データのレプリケート先の場所が、2 次拠点です。 2 次拠点は 1 次拠点の場所に基づいて自動的に決められ、1 次拠点と同じ地域にある 2 つ目のデータ センター内に設定されます。 読み取りアクセスの地理冗長レプリケーションがストレージ アカウントで有効な場合は、2 次拠点から読み取り専用アクセスを使用できます。

insert_entity

テーブルに新しいエンティティを挿入します。 PartitionKey と RowKey が同じエンティティが既に存在する場合は、 をスローします。

テーブルにエンティティを挿入する場合は、PartitionKey および RowKey システム プロパティの値を指定する必要があります。 これらのプロパティがプライマリ キーを構成します。これらのプロパティはテーブル内で一意である必要があります。 PartitionKey と RowKey の両方の値は文字列値である必要があります。各キー値のサイズは最大 64 KB です。 キー値は正規の順序で並べ替えられるため、キー値に整数値を使用している場合は、整数から固定幅文字列に変換する必要があります。 たとえば、適切な並べ替えを行うには、値 1 を 0000001 に変換する必要があります。

insert_or_merge_entity

テーブルにエンティティが存在する場合はマージし、存在しない場合は新しいエンティティを挿入します。

insert_or_merge_entityを使用してエンティティをマージする場合、要求でエンティティが定義または含まれていない場合、前のエンティティのすべてのプロパティが保持されます。

insert_or_replace_entity

テーブルにエンティティが存在する場合は置換し、存在しない場合は新しいエンティティを挿入します。 この操作は、エンティティを挿入 (insert) または更新 (update) できるため、"upsert" 操作とも呼ばれます。

insert_or_replace_entityを使用してエンティティを置き換える場合、新しいエンティティでエンティティが定義されていない場合、前のエンティティのプロパティはすべて削除されます。

list_tables

テーブルを一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返された継続トークンに遅れて従い、すべてのテーブルが返されるか、num_resultsに達したときに停止します。

num_resultsを指定し、アカウントにテーブルの数を超える数が含まれている場合、ジェネレーターは完了すると、next_markerフィールドが設定されます。 より多くの結果が必要な場合は、このマーカーを使用して新しいジェネレーターを作成できます。

merge_entity

エンティティのプロパティをマージして、既存のエンティティを更新します。 エンティティが存在しない場合は をスローします。

この操作は、update_entity操作と同様に、既存のエンティティを置き換えません。 プロパティは、merge_entityでは削除できません。

null 値を持つプロパティはすべて無視されます。 その他のすべてのプロパティが更新または追加されます。

query_entities

指定されたテーブル内のエンティティを一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返された継続トークンに遅れて従い、すべてのエンティティが返されるか、num_resultsに達したときに停止します。

num_resultsを指定し、その数を超えるエンティティがアカウントにある場合、ジェネレーターには、完了すると、next_marker フィールドが設定されます。 より多くの結果が必要な場合は、このマーカーを使用して新しいジェネレーターを作成できます。

set_proxy

HTTP CONNECT トンネリングのプロキシ サーバーのホストとポートを設定します。

set_table_acl

Shared Access Signature で使用できるテーブルの格納されているアクセス ポリシーを設定します。

テーブルのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。 テーブルのアクセス許可を更新するには、 を呼び出 get_table_acl して、テーブルに関連付けられているすべてのアクセス ポリシーをフェッチし、変更するアクセス ポリシーを変更してから、更新を実行するデータの完全なセットでこの関数を呼び出します。

保存されているアクセス ポリシーをテーブルに設定したときには、有効になるまでに最大で 30 秒かかる場合があります。 この期間中、格納されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで を <xref:azure.cosmosdb.table.tableservice.AzureHttpError> スローします。

set_table_service_properties

Azure Storage Analyticsを含むストレージ アカウントの Table Service のプロパティを設定します。 要素 (ログ記録など) が None のままの場合、その機能に対するサービスの既存の設定は保持されます。 Azure Storage Analyticsの詳細については、「」を参照してくださいhttps://msdn.microsoft.com/en-us/library/azure/hh343270.aspx

update_entity

テーブル内の既存のエンティティを更新します。 エンティティが存在しない場合は をスローします。 update_entity操作はエンティティ全体を置き換え、プロパティの削除に使用できます。

batch

コンテキスト マネージャーとして使用できるバッチ オブジェクトを作成します。 終了時にバッチをコミットします。

batch(table_name, timeout=None)

パラメーター

名前 説明
table_name
必須
str

バッチをコミットするテーブルの名前。

timeout
必須
int

サーバーのタイムアウト (秒単位)。

commit_batch

要求を <xref:azure.storage.table.TableBatch> コミットします。

commit_batch(table_name, batch, timeout=None)

パラメーター

名前 説明
table_name
必須
str

バッチをコミットするテーブルの名前。

batch
必須

コミットするバッチ。

timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明

バッチ内の要求に対応するバッチ応答の一覧。 項目は、成功した場合は etag、失敗した場合はエラー オブジェクトのいずれかになります。

create_table

ストレージ アカウントに新しいテーブルを作成します。

create_table(table_name, fail_on_exist=False, timeout=None)

パラメーター

名前 説明
table_name
必須
str

作成するテーブルの名前です。 テーブル名には英数字のみを含めることができるので、数字で始めることはできません。 大文字と小文字は区別されず、3 から 63 文字の長さにする必要があります。

fail_on_exist

テーブルが既に存在する場合に例外をスローするかどうかを指定します。

既定値: False
timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明

テーブルが作成されたかどうかを示すブール値。 fail_on_existが True に設定されている場合、false を返す代わりに がスローされます。

delete_entity

テーブル内の既存のエンティティを削除します。 エンティティが存在しない場合は をスローします。

正常に削除されたエンティティは、その時点で削除対象としてマークされ、クライアントからアクセスできなくなります。 このエンティティは、後でガベージ コレクション中に Table Service から削除されます。

delete_entity(table_name, partition_key, row_key, if_match='*', timeout=None)

パラメーター

名前 説明
table_name
必須
str

削除するエンティティを含むテーブルの名前。

partition_key
必須
str

エンティティの PartitionKey。

row_key
必須
str

エンティティの RowKey。

if_match
str

クライアントでは、オプティミスティック コンカレンシーを目的としてサービスによって維持される ETag と比較するために、要求でエンティティの ETag を指定する場合があります。 削除操作は、クライアントから送信された ETag がサーバーで維持される値と一致した場合にのみ実行されます。これは、エンティティがクライアントで取得されてから変更されていないことを示します。 無条件削除を強制するには、ワイルドカード文字 (*) に If-Match を設定します。

既定値: *
timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

delete_table

指定したテーブルとそのテーブルに含まれるすべてのデータを削除します。

正常に削除されたテーブルは、その時点で削除対象としてマークされ、クライアントからアクセスできなくなります。 このテーブルは、後でガベージ コレクション中に Table Service から削除されます。

テーブルの削除は、完了するまで少なくとも 40 秒はかかる可能性があります。 削除中にテーブルに対して操作が試行されると、 <xref:azure.cosmosdb.table.tableservice.AzureConflictHttpError> がスローされます。

delete_table(table_name, fail_not_exist=False, timeout=None)

パラメーター

名前 説明
table_name
必須
str

削除するテーブルの名前。

fail_not_exist

テーブルが存在しない場合に例外をスローするかどうかを指定します。

既定値: False
timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明

テーブルが削除されたかどうかを示すブール値。 fail_not_existが True に設定されている場合、false を返す代わりに がスローされます。

exists

テーブルが存在するかどうかを示すブール値を返します。

exists(table_name, timeout=None)

パラメーター

名前 説明
table_name
必須
str

存在するためにチェックするテーブルの名前。

timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明

テーブルが存在するかどうかを示すブール値。

extract_date_and_request_id

static extract_date_and_request_id(retry_context)

パラメーター

名前 説明
retry_context
必須

generate_account_shared_access_signature

テーブル サービスの共有アクセス署名を生成します。 返されたシグネチャは、TableService の sas_token パラメーターと共に使用します。

generate_account_shared_access_signature(resource_types, permission, expiry, start=None, ip=None, protocol=None)

パラメーター

名前 説明
resource_types
必須

アカウント SAS でアクセスできるリソースの種類を指定します。

permission
必須

共有アクセス署名と関連付けられているアクセス許可。 ユーザーが使用できる操作は、アクセス許可によって許可されるものに制限されます。 このフィールドを含む格納されているアクセス ポリシーを参照する ID が指定されていない限り、必須です。 このフィールドは、関連付けられた保存されているアクセス ポリシーで指定されている場合には省略する必要があります。

expiry
必須
datetime または str

共有アクセス署名が無効になる時刻。 このフィールドを含む格納されているアクセス ポリシーを参照する ID が指定されていない限り、必須です。 このフィールドは、関連付けられた保存されているアクセス ポリシーで指定されている場合には省略する必要があります。 Azure では常に値が UTC に変換されます。 タイムゾーン情報なしで日付が渡された場合は、UTC と見なされます。

start
datetime または str

共有アクセス署名が有効になる時刻。 省略した場合、この呼び出しの開始時刻はストレージ サービスが要求を受け取った時刻と見なされます。 Azure では常に値が UTC に変換されます。 タイムゾーン情報なしで日付が渡された場合は、UTC と見なされます。

既定値: None
ip
str

要求を受け入れる IP アドレスまたは IP アドレスの範囲を指定します。 要求の発信元の IP アドレスが SAS トークンで指定された IP アドレスまたはアドレス範囲と一致しない場合、要求は認証されません。 たとえば、SAS で sip=168.1.5.65 または sip=168.1.5.60-168.1.5.70 を指定すると、それらの IP アドレスに要求が制限されます。

既定値: None
protocol
str

要求に対して許可されるプロトコルを指定します。 既定値は https,http です。 指定できる値については、「Protocol」を参照してください。

既定値: None

戻り値

説明
str

Shared Access Signature (sas) トークン。

generate_table_shared_access_signature

テーブルの共有アクセス署名を生成します。 返されたシグネチャは、TableService の sas_token パラメーターと共に使用します。

generate_table_shared_access_signature(table_name, permission=None, expiry=None, start=None, id=None, ip=None, protocol=None, start_pk=None, start_rk=None, end_pk=None, end_rk=None)

パラメーター

名前 説明
table_name
必須
str

SAS トークンを作成するテーブルの名前。

permission

共有アクセス署名と関連付けられているアクセス許可。 ユーザーが使用できる操作は、アクセス許可によって許可されるものに制限されます。 このフィールドを含む格納されているアクセス ポリシーを参照する ID が指定されていない限り、必須です。 このフィールドは、関連付けられた保存されているアクセス ポリシーで指定されている場合には省略する必要があります。

既定値: None
expiry
datetime または str

共有アクセス署名が無効になる時刻。 このフィールドを含む格納されているアクセス ポリシーを参照する ID が指定されていない限り、必須です。 このフィールドは、関連付けられた保存されているアクセス ポリシーで指定されている場合には省略する必要があります。 Azure では常に値が UTC に変換されます。 タイムゾーン情報なしで日付が渡された場合は、UTC と見なされます。

既定値: None
start
datetime または str

共有アクセス署名が有効になる時刻。 省略した場合、この呼び出しの開始時刻はストレージ サービスが要求を受け取った時刻と見なされます。 Azure では常に値が UTC に変換されます。 タイムゾーン情報なしで日付が渡された場合は、UTC と見なされます。

既定値: None
id
str

格納されているアクセス ポリシーに関連付けられる最大 64 文字の一意の値。 格納されているアクセス ポリシーを作成するには、 を使用 set_table_aclします。

既定値: None
ip
str

要求を受け入れる IP アドレスまたは IP アドレスの範囲を指定します。 要求の発信元の IP アドレスが SAS トークンで指定された IP アドレスまたはアドレス範囲と一致しない場合、要求は認証されません。 たとえば、SAS で sip='168.1.5.65' または sip='168.1.5.60-168.1.5.70' を指定すると、それらの IP アドレスに要求が制限されます。

既定値: None
protocol
str

要求に対して許可されるプロトコルを指定します。 既定値は https,http です。 指定できる値については、「Protocol」を参照してください。

既定値: None
start_pk
str

この共有アクセス署名でアクセスできる最小パーティション キー。 startpk は startrk に付随する必要があります。 キー値は包含的です。 省略した場合、アクセスできるテーブル エンティティに下限はありません。

既定値: None
start_rk
str

この共有アクセス署名でアクセスできる最小行キー。 startpk は startrk に付随する必要があります。 キー値は包含的です。 省略した場合、アクセスできるテーブル エンティティに下限はありません。

既定値: None
end_pk
str

この共有アクセス署名でアクセスできる最大パーティション キー。 endpk は endrk に付随する必要があります。 キー値は包含的です。 省略した場合、アクセスできるテーブル エンティティに上限はありません。

既定値: None
end_rk
str

この共有アクセス署名でアクセスできる最大行キー。 endpk は endrk に付随する必要があります。 キー値は包含的です。 省略した場合、アクセスできるテーブル エンティティに上限はありません。

既定値: None

戻り値

説明
str

Shared Access Signature (sas) トークン。

get_entity

指定したテーブルからエンティティを取得します。 エンティティが存在しない場合は をスローします。

get_entity(table_name, partition_key, row_key, select=None, accept='application/json;odata=minimalmetadata', property_resolver=None, timeout=None)

パラメーター

名前 説明
table_name
必須
str

エンティティの取得元となるテーブルの名前。

partition_key
必須
str

エンティティの PartitionKey。

row_key
必須
str

エンティティの RowKey。

select
str

セットからエンティティの目的のプロパティのみを返します。

既定値: None
accept
str

応答ペイロードの受け入れられたコンテンツの種類を指定します。 指定できる値については、「<xref:azure.storage.table.models.TablePayloadFormat>」を参照してください。

既定値: application/json;odata=minimalmetadata
property_resolver
<xref:func>(<xref:pk>, <xref:rk>, <xref:prop_name>, <xref:prop_value>, <xref:service_edm_type>)

サービスによって返された場合、パーティション キー、行キー、プロパティ名、プロパティ値、およびプロパティ EdmType を指定した関数は、プロパティの EdmType を返します。 accept が JSON_NO_METADATA に設定されている場合に一般的に使用されます。

既定値: None
timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明

取得されたエンティティ。

get_table_acl

共有アクセス署名と共に使用できる、テーブルで指定された保存されているアクセス ポリシーの詳細を返します。

get_table_acl(table_name, timeout=None)

パラメーター

名前 説明
table_name
必須
str

既存のテーブルの名前。

timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明

テーブルに関連付けられているアクセス ポリシーのディクショナリ。

get_table_service_properties

ログ記録、分析、CORS ルールなど、ストレージ アカウントの Table サービスのプロパティを取得します。

get_table_service_properties(timeout=None)

パラメーター

名前 説明
timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明

Table サービスのプロパティです。

get_table_service_stats

Table Service のレプリケーションに関連する統計情報を取得します。 これは、ストレージ アカウントに対して読み取りアクセス geo 冗長レプリケーションが有効になっている場合にのみ使用できます。

地理冗長レプリケーションでは、Azure ストレージによって 2 か所でデータの持続性が維持されます。 両方の場所で、Azure ストレージは継続的にデータの複数の正常なレプリカを維持します。 データの読み取り、作成、更新、または削除を行う場所は、1 次ストレージ アカウント拠点です。 プライマリの場所は、Azure Management Azure クラシック ポータル (米国中北部など) を使用してアカウントを作成するときに選択したリージョンに存在します。 データのレプリケート先の場所が、2 次拠点です。 2 次拠点は 1 次拠点の場所に基づいて自動的に決められ、1 次拠点と同じ地域にある 2 つ目のデータ センター内に設定されます。 読み取りアクセスの地理冗長レプリケーションがストレージ アカウントで有効な場合は、2 次拠点から読み取り専用アクセスを使用できます。

get_table_service_stats(timeout=None)

パラメーター

名前 説明
timeout
int

timeout パラメーターは、秒単位で表されます。

既定値: None

戻り値

説明

Table サービスの統計情報です。

insert_entity

テーブルに新しいエンティティを挿入します。 PartitionKey と RowKey が同じエンティティが既に存在する場合は、 をスローします。

テーブルにエンティティを挿入する場合は、PartitionKey および RowKey システム プロパティの値を指定する必要があります。 これらのプロパティがプライマリ キーを構成します。これらのプロパティはテーブル内で一意である必要があります。 PartitionKey と RowKey の両方の値は文字列値である必要があります。各キー値のサイズは最大 64 KB です。 キー値は正規の順序で並べ替えられるため、キー値に整数値を使用している場合は、整数から固定幅文字列に変換する必要があります。 たとえば、適切な並べ替えを行うには、値 1 を 0000001 に変換する必要があります。

insert_entity(table_name, entity, timeout=None)

パラメーター

名前 説明
table_name
必須
str

エンティティを挿入するテーブルの名前。

entity
必須
<xref:azure.storage.table.models.Entity>

挿入するエンティティ。 dict またはエンティティ オブジェクトを指定できます。 PartitionKey と RowKey を含む必要があります。

timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明
str

挿入されたエンティティの etag。

insert_or_merge_entity

テーブルにエンティティが存在する場合はマージし、存在しない場合は新しいエンティティを挿入します。

insert_or_merge_entityを使用してエンティティをマージする場合、要求でエンティティが定義または含まれていない場合、前のエンティティのすべてのプロパティが保持されます。

insert_or_merge_entity(table_name, entity, timeout=None)

パラメーター

名前 説明
table_name
必須
str

エンティティを挿入またはマージするテーブルの名前。

entity
必須
<xref:azure.storage.table.models.Entity>

挿入またはマージするエンティティ。 dict またはエンティティ オブジェクトを指定できます。 PartitionKey と RowKey を含む必要があります。

timeout
int

サーバーのタイムアウト (秒単位)。

既定値: None

戻り値

説明
str

エンティティの etag。

insert_or_replace_entity

テーブルにエンティティが存在する場合は置換し、存在しない場合は新しいエンティティを挿入します。 この操作は、エンティティを挿入 (insert) または更新 (update) できるため、"upsert" 操作とも呼ばれます。

insert_or_replace_entityを使用してエンティティを置き換える場合、新しいエンティティでエンティティが定義されていない場合、前のエンティティのプロパティはすべて削除されます。

insert_or_replace_entity(table_name, entity, timeout=None)

パラメーター

名前 説明
table_name
必須
str

エンティティを挿入または置換するテーブルの名前。

entity
必須
<xref:azure.storage.table.models.Entity>

挿入または置換するエンティティ。 dict またはエンティティ オブジェクトを指定できます。 PartitionKey と RowKey を含む必要があります。

timeout
int

秒単位で表されるサーバー タイムアウト。

既定値: None

戻り値

説明
str

エンティティの etag。

list_tables

テーブルを一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返された継続トークンに遅れて従い、すべてのテーブルが返されるか、num_resultsに達したときに停止します。

num_resultsを指定し、アカウントにテーブルの数を超える数が含まれている場合、ジェネレーターは完了すると、next_markerフィールドが設定されます。 より多くの結果が必要な場合は、このマーカーを使用して新しいジェネレーターを作成できます。

list_tables(num_results=None, marker=None, timeout=None)

パラメーター

名前 説明
num_results
int

返されるテーブルの最大数。

既定値: None
marker
<xref:obj>

不透明な継続オブジェクト。 この値は、前のジェネレーター オブジェクトのnext_marker フィールドから取得できますnum_resultsが指定され、そのジェネレーターが結果の列挙を完了した場合です。 指定した場合、このジェネレーターは、前のジェネレーターが停止したポイントから結果の返しを開始します。

既定値: None
timeout
int

秒単位で表されるサーバー タイムアウト。 この関数は、サービスに対して複数の呼び出しを行う場合があります。その場合、指定されたタイムアウト値が個々の呼び出しに適用されます。

既定値: None

戻り値

説明

オブジェクトを生成する <xref:azure.cosmosdb.table.common.models.table.Table> ジェネレーター。

merge_entity

エンティティのプロパティをマージして、既存のエンティティを更新します。 エンティティが存在しない場合は をスローします。

この操作は、update_entity操作と同様に、既存のエンティティを置き換えません。 プロパティは、merge_entityでは削除できません。

null 値を持つプロパティはすべて無視されます。 その他のすべてのプロパティが更新または追加されます。

merge_entity(table_name, entity, if_match='*', timeout=None)

パラメーター

名前 説明
table_name
必須
str

マージするエンティティを含むテーブルの名前。

entity
必須
<xref:azure.storage.table.models.Entity>

マージするエンティティ。 dict またはエンティティ オブジェクトを指定できます。 PartitionKey と RowKey を含む必要があります。

if_match
str

クライアントでは、オプティミスティック コンカレンシーを目的としてサービスによって維持される ETag と比較するために、要求でエンティティの ETag を指定する場合があります。 マージ操作は、クライアントによって送信された ETag がサーバーによって保持されている値と一致する場合にのみ実行されます。これは、エンティティがクライアントによって取得されてから変更されていないことを示します。 無条件マージを強制するには、If-Match をワイルドカード文字 (*) に設定します。

既定値: *
timeout
int

秒単位で表されるサーバー タイムアウト。

既定値: None

戻り値

説明
str

エンティティの etag。

query_entities

指定されたテーブル内のエンティティを一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返された継続トークンに遅れて従い、すべてのエンティティが返されるか、num_resultsに達したときに停止します。

num_resultsを指定し、その数を超えるエンティティがアカウントにある場合、ジェネレーターには、完了すると、next_marker フィールドが設定されます。 より多くの結果が必要な場合は、このマーカーを使用して新しいジェネレーターを作成できます。

query_entities(table_name, filter=None, select=None, num_results=None, marker=None, accept='application/json;odata=minimalmetadata', property_resolver=None, timeout=None)

パラメーター

名前 説明
table_name
必須
str

クエリを実行するテーブルの名前。

filter
str

指定したフィルターを満たすエンティティのみを返します。 $filter文字列内では、15 個以下の個別比較が許可されることに注意してください。 フィルターの構築の詳細については、「」を参照してください http://msdn.microsoft.com/en-us/library/windowsazure/dd894031.aspx

既定値: None
select
str

セットからエンティティの目的のプロパティのみを返します。

既定値: None
num_results
int

返すエンティティの最大数。

既定値: None
marker
<xref:obj>

不透明な継続オブジェクト。 この値は、前のジェネレーター オブジェクトのnext_marker フィールドから取得できますmax_resultsが指定され、そのジェネレーターが結果の列挙を完了した場合です。 指定した場合、このジェネレーターは、前のジェネレーターが停止したポイントから結果の返しを開始します。

既定値: None
accept
str

応答ペイロードの受け入れられたコンテンツの種類を指定します。 指定できる値については、「<xref:azure.storage.table.models.TablePayloadFormat>」を参照してください。

既定値: application/json;odata=minimalmetadata
property_resolver
<xref:func>(<xref:pk>, <xref:rk>, <xref:prop_name>, <xref:prop_value>, <xref:service_edm_type>)

パーティション キー、行キー、プロパティ名、プロパティ値、およびプロパティ EdmType がサービスによって返された場合に指定された関数は、プロパティの EdmType を返します。 accept が JSON_NO_METADATA に設定されている場合に一般的に使用されます。

既定値: None
timeout
int

秒単位で表されるサーバー タイムアウト。 この関数は、サービスに対して複数の呼び出しを行う場合があります。その場合、指定されたタイムアウト値が個々の呼び出しに適用されます。

既定値: None

戻り値

説明

オブジェクトを生成する <xref:azure.storage.table.models.Entity> ジェネレーター。

set_proxy

HTTP CONNECT トンネリングのプロキシ サーバーのホストとポートを設定します。

set_proxy(host, port, user=None, password=None)

パラメーター

名前 説明
host
必須
str

プロキシのアドレス。 例: '192.168.0.100'

port
必須
int

プロキシのポート。 例: 6000

user
str

プロキシ承認のユーザー。

既定値: None
password
str

プロキシ承認のパスワード。

既定値: None

set_table_acl

Shared Access Signature で使用できるテーブルの格納されているアクセス ポリシーを設定します。

テーブルのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。 テーブルのアクセス許可を更新するには、 を呼び出 get_table_acl して、テーブルに関連付けられているすべてのアクセス ポリシーをフェッチし、変更するアクセス ポリシーを変更してから、更新を実行するデータの完全なセットでこの関数を呼び出します。

保存されているアクセス ポリシーをテーブルに設定したときには、有効になるまでに最大で 30 秒かかる場合があります。 この期間中、格納されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで を <xref:azure.cosmosdb.table.tableservice.AzureHttpError> スローします。

set_table_acl(table_name, signed_identifiers=None, timeout=None)

パラメーター

名前 説明
table_name
必須
str

既存のテーブルの名前。

signed_identifiers
dict(str, AccessPolicy)

テーブルに関連付けるアクセス ポリシーのディクショナリ。 ディクショナリには、最大 5 つの要素を含めることができます。 空のディクショナリを使用すると、サービスに設定されているアクセス ポリシーがクリアされます。

既定値: None
timeout
int

秒単位で表されるサーバー タイムアウト。

既定値: None

set_table_service_properties

Azure Storage Analyticsを含むストレージ アカウントの Table Service のプロパティを設定します。 要素 (ログ記録など) が None のままの場合、その機能に対するサービスの既存の設定は保持されます。 Azure Storage Analyticsの詳細については、「」を参照してくださいhttps://msdn.microsoft.com/en-us/library/azure/hh343270.aspx

set_table_service_properties(logging=None, hour_metrics=None, minute_metrics=None, cors=None, timeout=None)

パラメーター

名前 説明
logging

ログ設定では、要求ログが提供されます。

既定値: None
hour_metrics

時間メトリック設定では、API 別にグループ化された要求統計の概要が、テーブルの時間単位の集計で提供されます。

既定値: None
minute_metrics

分単位のメトリック設定では、テーブルの 1 分ごとの要求統計が提供されます。

既定値: None
cors
list(CorsRule)

リストには、最大 5 つの CorsRule 要素を含めることができます。 空のリストを指定すると、すべての CORS ルールが削除され、サービスに対して CORS が無効になります。 CORS ルールと評価ロジックの詳細については、「https://msdn.microsoft.com/en-us/library/azure/dn535601.aspx」を参照してください。

既定値: None
timeout
int

秒単位で表されるサーバー タイムアウト。

既定値: None

update_entity

テーブル内の既存のエンティティを更新します。 エンティティが存在しない場合は をスローします。 update_entity操作はエンティティ全体を置き換え、プロパティの削除に使用できます。

update_entity(table_name, entity, if_match='*', timeout=None)

パラメーター

名前 説明
table_name
必須
str

更新するエンティティを含むテーブルの名前。

entity
必須
<xref:azure.storage.table.models.Entity>

更新するエンティティ。 dict またはエンティティ オブジェクトを指定できます。 PartitionKey と RowKey を含む必要があります。

if_match
str

クライアントでは、オプティミスティック コンカレンシーを目的としてサービスによって維持される ETag と比較するために、要求でエンティティの ETag を指定する場合があります。 更新操作は、クライアントから送信された ETag がサーバーで維持される値と一致した場合にのみ実行されます。これは、エンティティがクライアントで取得されてから変更されていないことを示します。 無条件の更新を強制するには、If-Match をワイルドカード文字 (*) に設定します。

既定値: *
timeout
int

秒単位で表されるサーバー タイムアウト。

既定値: None

戻り値

説明
str

エンティティの etag。

属性

protocol

request_session

socket_timeout