com.microsoft.azure.storage.table

クラス

CloudTable

Microsoft Azure Table サービスのテーブルを表します。

CloudTableClient

Microsoft Azure Table サービスにアクセスするためのサービス クライアントを提供します。

クラスは CloudTableClient 、Table サービス エンドポイントのベース URI とストレージ アカウントにアクセスするための資格情報をカプセル化し、テーブルを作成、削除、一覧表示、クエリするためのメソッド、およびテーブル エンティティに対して操作とクエリを実行するメソッドを提供します。 これらのメソッドは、Storage Service REST API 操作を呼び出して要求を行い、返される結果を取得します。

Table Service エンドポイントは、ストレージ アカウントの DNS 名を含む、Table Service リソースのベース URI です。

詳細については、MSDN トピック「 Table Service リソースのアドレス指定」を参照してください。

資格情報には、ストレージ アカウント名とキーの組み合わせ、または共有アクセス署名を指定できます。 詳細については、MSDN トピック「 ストレージ アカウントへのアクセスの認証」を参照してください

DynamicTableEntity

呼び出し元がエンティティのプロパティ マップに直接アクセスできるようにする TableEntity 型です。 このクラスは を拡張 TableServiceEntity して、シリアル化と逆シリアル化にリフレクションを使用する必要がなくなります。

EntityProperty

テーブル エンティティ内の単一の型指定されたプロパティ値を表すクラス。 には EntityProperty 、データ型が として EdmType格納されます。 値はオブジェクト型の場合もありますが、プリミティブ型の場合は使用できませんが、シリアル化され、 として格納されます。

EntityProperty は、サポートされている値型のメソッドのオーバーロードされたコンストラクターとオーバーロードを提供します。 オーバーロードされた各コンストラクターまたはメソッドは、 を EdmType 設定し、パラメーターの型に基づいて値を適切にシリアル化します。

いずれかの Type メソッドを使用して、 を適切な Java 型として逆シリアル化 EntityProperty します。 メソッドは、 または IllegalArgumentExceptionParseException Java 型として逆シリアル化できない場合EntityPropertyに をスローします。

QueryTableOperation

を拡張 TableOperation して 1 つのテーブル エンティティを取得するクエリを実装するクラス。 インスタンスを QueryTableOperation 実行するには、インスタンスで メソッドを CloudTableClient 呼び出します。 この操作は、直接実行することも、 の TableBatchOperation一部として実行することもできます。 が QueryTableOperation エンティティの結果を返す場合は、 メソッドによって返される対応する TableResult に格納されます。

SharedAccessTablePolicy

共有アクセス署名の開始時刻、有効期限、アクセス許可を指定する共有アクセス ポリシーを表します。

TableBatchOperation

バッチ操作を表す クラス。 バッチ操作は、 エンティティ グループ トランザクションを呼び出すことによって、Storage Service REST API によって 1 つのアトミック操作として実行されるテーブル操作のコレクションです。

バッチ操作には、最大 100 個の個別のテーブル操作を含めることができます。各操作のエンティティには、同じパーティション キーが必要です。 取得操作が含まれているバッチには、他の操作を含めることはできません。 バッチ操作の合計ペイロードは、4 MB に制限されています。

TableEncryptionPolicy

Azure テーブル エンティティのエンベロープ暗号化/暗号化解除を実行するために使用されるテーブル暗号化ポリシーを表します。

TableOperation

1 つのテーブル操作を表す クラス。

静的ファクトリ メソッドを使用して、テーブル エンティティを挿入、更新、マージ、削除、置換、または取得するテーブルに対する操作のインスタンスを構築 TableOperation します。 インスタンスを TableOperation 実行するには、インスタンスで メソッドを CloudTableClient 呼び出します。 は TableOperation 、直接実行することも、 の TableBatchOperation一部として実行することもできます。 が TableOperation エンティティの結果を返す場合は、 メソッドによって返される対応する TableResult に格納されます。

TablePermissions

テーブルのアクセス許可を表します。

TableQuery<T>

指定したテーブルに対するクエリを表す クラス。 インスタンスは TableQuery<T> 、クエリの実行時に使用するクエリ パラメーターを集計します。 クエリを実行するには、 または のいずれかの CloudTableClient メソッドを呼び出す必要があります。 パラメーターはエンコードされ、テーブル クエリの実行時にサーバーに渡されます。

fluent 構文を使用してテーブル クエリを作成するには、 from(final Class<T> clazzType) 静的ファクトリ メソッドと where(final String filter)select(final String[] columns)、および take(final Integer take) ミューテーター メソッドがそれぞれ オブジェクトへの参照を返します。この参照は、1 つの式に連結できます。 静的クラス ファクトリ メソッドを from(Class) 使用して、指定した TableEntity 実装型のエンティティを持つ名前付きテーブルで実行されるインスタンスを作成します。 メソッドを where(final String filter) 使用して、返されるエンティティのフィルター式を指定します。 メソッドを select(final String[] columns) 使用して、返すテーブル エンティティのプロパティを指定します。 メソッドを take(final Integer take) 使用して、クエリによって返されるエンティティの数を制限します。 でこれらのメソッドを複数回呼び出すのを妨げるものはないため、 に保存された値は実行順に最後に検出されることに注意してください。

たとえば、fluent 構文を使用してテーブル クエリを作成できます。

次の使用例は、PartitionKey 値が "ProductsMNO" で RowKey 値が "Napkin" 以上であるすべてのエンティティの "Products" テーブルに対してクエリを作成し、最初の 25 個の一致するエンティティを要求し、共通プロパティと "InventoryCount" という名前のプロパティのみを選択し、オブジェクトとして DynamicTableEntity 返します。

メソッドまたはメソッドでwhere(final String filter)使用するフィルター式は、 で定義されている比較演算子と で定義OperatorsQueryComparisonsされている論理演算子を使用して、オーバーロードされたgenerateFilterCondition(String propertyName, String operation, final boolean value)メソッドとcombineFilters(String filterA, String operator, String filterB)メソッドで fluent 構文を使用して作成setFilterString(final String filterString)できます。 フィルター比較の最初のオペランドはプロパティ名である必要があり、2 番目のオペランドは定数に評価される必要があります。 PartitionKey プロパティと RowKey プロパティの値は、比較目的の型です。

テーブル クエリで使用できる値については、MSDN トピック「 テーブルとエンティティのクエリ」で詳しく説明されていますが、クエリの実行時に行われるので、値内のスペース文字は URL エンコードする必要はありません。

コンストラクターとTableQuery#from(Class)静的ファクトリ メソッドにはTableQuery#TableQuery(Class)、nullary コンストラクターを実装TableEntityし、含むクラス型が必要です。 を使用して EntityResolver<T>クエリを実行する場合、呼び出し元は クラス型として を指定 TableServiceEntity できます。

TableRequestOptions

テーブル操作要求に指定できるタイムアウト、ペイロード形式、再試行ポリシー オプションのセットを表します。

TableResult

テーブル操作の結果を表す クラス。 クラスは TableResult 、HTTP 応答と、特定 TableOperationの に対して呼び出された Storage Service REST API 操作によって返されるテーブル エンティティの結果をカプセル化します。

TableServiceEntity

クラスは TableServiceEntity 、Storage サービスのテーブル エンティティの基本オブジェクト型を表します。 TableServiceEntity は、リフレクションを介してすべてのプロパティを TableEntity 既定でシリアル化および逆シリアル化する メソッドと を提供する インターフェイスの基本実装を提供します。 テーブル エンティティ クラスでは、このクラスを拡張し、 メソッドと メソッドをオーバーライドして、カスタマイズされた、またはよりパフォーマンスの高いシリアル化ロジックを提供できます。

リフレクションを使用すると、 の TableServiceEntity サブクラスをシリアル化および逆シリアル化できます。シリアル化コード自体を実装する必要はありません。 特定のプロパティ名とデータ型に対して getter メソッドと setter メソッドの両方が見つかった場合、適切なメソッドが自動的に呼び出され、データがシリアル化または逆シリアル化されます。 自動シリアル化コードを利用するには、テーブル エンティティ クラスで、Microsoft Azure テーブル ストレージ内の対応するテーブル エンティティ内の各プロパティに対して getter メソッドと setter メソッドを提供する必要があります。 リフレクション コードは、フォームのペアで getter メソッドと setter メソッドを検索します

および

ここで 、PropertyName はテーブル エンティティのプロパティ名であり、 は プロパティの EDM データ型と互換性のある Java 型です。 プロパティ型と Java の同等のマップについては、次の表を参照してください。 注釈を StoreAs 属性と共に適用して、プロパティ名規則に従わない getter メソッドと setter メソッドでリフレクションのプロパティ名を指定できます。 メソッド名と注釈の StoreAs 属性は、プロパティ名とリフレクションを照合する場合、大文字と小文字が区別されます。 注釈を Ignore 使用して、自動シリアル化と逆シリアル化のためにリフレクションによってメソッドが使用されないようにします。 "PartitionKey"、"RowKey"、"Timestamp"、および "Etag" という名前は予約されており、サブクラスの注釈で StoreAs 設定されている場合は無視されることに注意してください。

次の表は、Microsoft Azure Storage でサポートされているプロパティ データ型と、逆シリアル化された場合の対応する Java 型を示しています。

Microsoft Azure Storage でサポートされているプロパティ データ型

Microsoft Azure Storage サービスで使用されるテーブル、エンティティ、およびプロパティの概要については、MSDN トピック「Table Service データ モデルについて」を参照してください。

使用可能な EDM プリミティブ データ型と名前の概要については、

OData プロトコルの概要に関するページの「プリミティブ データ型」セクション。

TableServiceException

テーブル ストレージ サービス操作が正常に完了しなかった場合に発生する例外。

TableQuery.Operators

識別子をフィルター式演算子にマップする静的クラス。

TableQuery.QueryComparisons

プロパティ比較演算子をフィルター処理するために識別子をマップする静的クラス。

インターフェイス

Encrypt

エンティティ プロパティを暗号化するかどうかを示すために使用できるカスタム属性を表します。 この注釈を使用して、セッター メソッドによって格納されたデータを暗号化するか、 を実装する TableEntityクラスの getter メソッドによって取得されたデータを復号化するかを指定します。

EntityResolver<T>

取得したエンティティに対してクライアント側プロジェクションを実行するインターフェイス。 インスタンスは EntityResolver<T> 、型パラメーターで指定された型の新しいインスタンスとして渡されるパラメーターによって表されるエンティティ データを投影するメソッドを実装する必要があります。

このインターフェイスは、すべてのプロパティを個別に逆シリアル化する個別のテーブル エンティティ クラス型を必要とせずに、テーブル エンティティ データからクライアント オブジェクト型に直接変換する場合に便利です。 たとえば、クライアントは、各エンティティの CustomerName プロパティの を返すだけで、 Customer エンティティのクライアント側プロジェクションを実行できます。 このプロジェクションの結果は、各顧客名を含む のコレクションになります。

Ignore

リフレクションによるプロパティのシリアル化または逆シリアル化での使用を防ぐための、メソッドに設定された注釈。 リフレクション ベースのシリアル化と逆シリアル化の間に強制的に無視されるように、 を実装 TableEntity するクラスのメソッドに注釈を適用します。 リフレクション ベースのシリアル化と逆シリアル化の使用の詳細については、ドキュメントを参照してください TableServiceEntity

StoreAs

プロパティがシリアル化され、リフレクションを使用して逆シリアル化される名前をオーバーライドするために使用される注釈。 この注釈を使用して、セッター メソッドによって格納されたデータに関連付けるプロパティ名を指定するか、リフレクション ベースのシリアル化と逆シリアル化を使用する クラス TableEntity の getter メソッドによって取得されます。 名前 "PartitionKey"、"RowKey"、"Timestamp"、および "Etag" は予約されており、注釈で設定すると無視されることに注意してください。

例:

この例では、既定のケースで ObjectPropertyName という名前のエンティティ プロパティを取得および設定するメソッドに、 EntityPropertyName という名前のエンティティ プロパティを取得および設定するための注釈を付ける方法を示します。 リフレクション ベースのシリアル化と逆シリアル化の使用の詳細については、ドキュメントを参照してください TableServiceEntity

TableEntity

テーブルのエンティティ型に必要なインターフェイスです。 インターフェイスは TableEntity 、共通エンティティ プロパティの getter メソッドと setter メソッド、およびプロパティ マップを使用してすべてのエンティティ プロパティのシリアル化と逆シリアル化を行うメソッドを宣言します。 プロパティの格納、取得、シリアル化、逆シリアル化をカスタマイズし、テーブル エンティティに追加のカスタム ロジックを提供するための を実装 TableEntity するクラスを作成します。

Storage クライアント ライブラリには、 の 2 つの実装が含まれており、 TableEntity 単純なプロパティ アクセスとシリアル化を提供します。

DynamicTableEntity は を TableEntity 実装し、プロパティを格納および取得するための単純なプロパティ マップを提供します。 DynamicTableEntityプロパティのサブセットのみが返される場合 (クエリ内の select 句など)、またはクエリが異なるプロパティを持つ複数のエンティティ型を返すことができる場合は、 を使用してエンティティ プロパティに簡単にアクセスします。 また、この型を使用すると、異種エンティティのテーブルに対して、プロパティ情報を損なうことなく一括更新を実行できます。

TableServiceEntity は、 および メソッドでリフレクション ベースのシリアル化と逆シリアル化の動作を使用する の実装 TableEntity です。 TableServiceEntity型と名前付けの規則に従うメソッドを持つ派生クラスは、自動的にシリアル化および逆シリアル化されます。

を実装 TableEntity するクラスは、 と の静的メソッドを呼び出すことによって、 の TableServiceEntity 自動リフレクション ベースのシリアル化と逆シリアル化の動作を利用できます。 クラスは、自動的にシリアル化および逆シリアル化される型と名前付け規則に従うメソッドを提供する必要があります。 特定のプロパティ名とデータ型に対して getter メソッドと setter メソッドの両方が見つかった場合、適切なメソッドが自動的に呼び出され、データがシリアル化または逆シリアル化されます。 リフレクション コードは、フォームのペアで getter メソッドと setter メソッドを検索します

および

ここで 、PropertyName はテーブル エンティティのプロパティ名であり、 は プロパティの EDM データ型と互換性のある Java 型です。 Java と同等のプロパティ型のマップについては、クラスの説明 TableServiceEntity の表を参照してください。 注釈を StoreAs 属性と共に適用して、プロパティ名規則に従わない getter メソッドと setter メソッドでリフレクションのプロパティ名を指定できます。 メソッド名と注釈の StoreAs 属性は、プロパティ名とリフレクションを照合する場合、大文字と小文字が区別されます。 注釈を Ignore 使用して、自動シリアル化と逆シリアル化のためにリフレクションによってメソッドが使用されないようにします。 "PartitionKey"、"RowKey"、"Timestamp"、および "Etag" という名前は予約されており、リフレクション メソッドを使用するサブクラスで注釈と共 StoreAs に設定すると無視されることに注意してください。

TableRequestOptions.EncryptionResolver

プロパティを暗号化するか、パーティション キー、行キー、およびプロパティ名を指定しないかを示す値を取得するために関数を使用するインターフェイス。

TableRequestOptions.PropertyResolver

パーティション キー、行、キー、およびプロパティ名が指定されたエンティティ プロパティの を取得 EdmType するために関数が使用されるインターフェイス (インターフェイスが実装されている場合)

列挙型

EdmType

Open Data Protocol (OData) のエンティティ データ モデル (EDM) のプリミティブ型を表すために使用される列挙体。 EDM は、OData サービスで使用される基になる抽象データ モデルです。 EdmType列挙には、parse(final String value)EDM データ型の名前を列挙型に変換するメソッドが含まれており、メソッドをtoString()オーバーライドして EDM データ型名を生成します。

OData の詳細については、 Open Data Protocol Web サイトを参照してください。

使用可能な EDM プリミティブ データ型と名前の概要については、「OData プロトコルの概要」の「プリミティブ データ型」セクションを参照してください。

OData でサポートされるプリミティブ型を定義するために使用される抽象型システムは 、[MC-CSDL] (セクション 2.2.1) で詳細に定義されています。

SharedAccessTablePermissions

共有アクセス テーブル ポリシーの有効な一連の権限を指定します。

TablePayloadFormat

テーブルでサポートされるペイロードの形式について説明します。