|
|||||||||
| 前のパッケージ 次のパッケージ | フレーム フレームなし | ||||||||
参照:
説明
| インターフェースの概要 | |
|---|---|
| DatastoreConfig | データストアのユーザー設定可能なプロパティです。 |
| DatastoreService | DatastoreService を使用すると、スキーマなしのデータ ストレージ システムにアクセスできます。 |
| PreparedQuery | Query からエンティティを取得して返すためのメソッドが含まれています。 |
| Transaction | データストアに対して実行する作業の論理ユニットについて説明します。 |
| クラスの概要 | |
|---|---|
| Blob | Blob には、サイズ制限なしのバイト配列が含まれます。 |
| DatastoreServiceFactory | DatastoreService 実装を作成します。 |
| DataTypeTranslator | DataTypeTranslator は、データ ストアの Property プロトコル バッファとユーザー用クラス(String、User など)間で変換を行うためのユーティリティ クラスです。 |
| DataTypeTranslator.ComparableByteArray | Comparable を実装する byte[] のラッパーです。 |
| DataTypeUtils | DataTypeUtils は、どのクラスをプロパティとしてデータ ストアに安全に格納できるかをユーザーコードが判断できるようにするための、簡単なインターフェースを提供します。 |
| Entity | Entity は、データ ストレージの基本単位です。 |
| EntityTranslator | EntityTranslator には、Entity をプロトコル バッファに変換するためのロジックが含まれます。Entity は、このプロトコル バッファを使用して、API の実装に渡されます。 |
| FetchOptions | PreparedQuery の実行時に適用される制限、オフセット、チャンク サイズを記述します。 |
| FetchOptions.Builder | FetchOptions を作成する静的なメソッドが含まれます。 |
| Key | データストア エンティティの主キー。 |
| KeyFactory | ルート エンティティ グループ(親なし)に任意の Key オブジェクトを作成できます。 |
| KeyFactory.Builder | 祖先を持つ Keys の構築を支援するヘルパー クラス。 |
| Link | Link は長さに制限がある URL です。 |
| Query | Query は、データストアの 0 個以上の Entity オブジェクトの要求をカプセル化します。 |
| Query.FilterPredicate | FilterPredicate は、1 つのフィルタ述語を保持するデータ コンテナです。 |
| Query.SortPredicate | SortPredicate は、1 つのソート述語を保持するデータ コンテナです。 |
| ShortBlob | ShortBlob には、DataTypeUtils.MAX_SHORT_BLOB_PROPERTY_LENGTH 以下のバイト配列が含まれます。 |
| Text | Text は、サイズ制限なしの文字列を折り返します。 |
| 列挙型の概要 | |
|---|---|
| ImplicitTransactionManagementPolicy | 暗示的なトランザクション管理においてデータストアが従うことのできる各種ポリシーを記述します。 |
| Query.FilterOperator | FilterOperator は、フィルタに適用する操作のタイプを指定します。 |
| Query.SortDirection | SortDirection は並び替え順序を制御します。 |
| 例外の概要 | |
|---|---|
| DatastoreFailureException | DatastoreFailureException は、データ ストアと通信中に不明なエラーが発生した場合にスローされます。 |
| DatastoreNeedIndexException | DatastoreNeedIndexException は、インデックスを必要とするクエリに対して一致するインデックスが見つからなかった場合にスローされます。 |
| DatastoreTimeoutException | DatastoreTimeoutException は、データストアの操作がタイム アウトになった場合にスローされます。 |
| EntityNotFoundException | 指定された Key を持つ EntityNotFoundException が見つからなかった場合は Entity がスローされます。 |
| PreparedQuery.TooManyResultsException | PreparedQuery.asSingleEntity() に対する結果が多すぎることを示します。 |
データストアは、App Engine アプリケーションの固定ストレージを提供します。このデータストアは直接、または提供された JDO または JPA インターフェースから使用します。このデータストアは、障害発生時に対処できるよう冗長ストレージを提供します。詳細については、オンライン ドキュメントをご覧ください。
このパッケージには、主にフレームワーク作成者を対象にしたデータストアの低レベル API が含まれています。アプリケーション作成者は、データストアの操作において提供される JDO または JPA インターフェースのいずれかを使用することが推奨されています。データストア API を直接使用する場合の一般的な使用パターンは次のとおりです:
// Get a handle on the datastore itself
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
// Lookup data by known key name
Entity userEntity = datastore.get(KeyFactory.createKey("UserInfo", email));
// Or perform a query
Query query = new Query("Task", userEntity);
query.addFilter("dueDate", Query.FilterOperator.LESS_THAN, today);
for (Entity taskEntity : datastore.prepare(query).asIterable()) {
if ("done".equals(taskEntity.getProperty("status"))) {
datastore.delete(taskEntity);
} else {
taskEntity.setProperty("status", "overdue");
datastore.put(taskEntity);
}
}
このコードが示す基本事項をいくつか次に示します:
DatastoreService オブジェクトを介してアクセスします。このオブジェクトは DatastoreServiceFactory から生成されます。
Entity オブジェクトで、このオブジェクトには名前が付いています(上記の例では「UserInfo」と「Task」)。
Key 値があります。これは KeyFactory で作成でき、特定の既知のエンティティを取得します。キーがすぐに特定されない場合は、Query オブジェクトを使用して、1 つのエンティティ、複数エンティティのリスト、Interable、または Iterator を取得するか、一致するエンティティの数を取得できます。
Query は、特定の UserInfo エンティティに関連付けられた Task エンティティのみを検索し、その中から今日より前の日付に締め切られたタスクのエンティティをフィルタで検出します。
実稼働では、最低でも 1 つのインデックスが構築され、個々のクエリを効率的に処理できるようになるまで、通常の処理とは異なるクエリは実行できません。アプリケーションに必要な一連のインデックスは WEB-INF/datastore-indexes.xml ファイルで指定できます。開発サーバーでアプリケーションをテストするときに自動的に生成することも可能です。クエリに必要なインデックスが見つからない場合は、実行時に DatastoreNeedIndexException がスローされます。
Google App Engine を使用すると、アプリケーションのさまざまなバージョンにアクセスできますが、アプリケーションのデータストアは 1 つしかないため、すべてのバージョンがこのデータストアを共有します。同様に、一連のインデックスも、すべてのアプリケーションのバージョンで共有されます。
|
|||||||||
| 前のパッケージ 次のパッケージ | フレーム フレームなし | ||||||||