R2
CLOUDFLARE非同期 AWS SDK クライアント経由の Cloudflare R2。
R2 の設定 →R2D1 / モジュール型 JAVA 永続化
完全なドキュメントには DocumentStore、インデックス検索には IndexStore を1つずつ選びます。R2D1 はバックエンドや統合方法に関係なく、同じコレクション API を保ちます。
R2D1 は1つの DocumentStore と1つの IndexStore を組み合わせます。それぞれの列からバックエンドを選び、設定ガイドに従ったあと、共通のコレクション API を使います。
シリアライズされた内容、IDによる読み取り、ドキュメント一覧を管理します。
フィルタとソートに使うドキュメント ID と明示的なインデックスフィールドを管理します。
2つのバックエンドを設定したあとは、どの組み合わせでも同じアノテーション、コレクションのライフサイクル、更新メソッド、インデックスクエリビルダーを使います。
@Document("users")
record User(@Id String id, @Index String country, @Index long score) {}
R2D1 database = R2D1.builder()
.collectionFactory(new PersistenceCollectionFactory(
documentStore, indexStore, documentCodec, indexStore::initialize))
.build();
R2D1Collection<User> users = database.collection(User.class);
users.put(new User("user-123", "NZ", 42));
Page<User> page = users.query()
.where("country").eq("NZ")
.sortBy("score", SortDirection.DESC)
.limit(20)
.fetch();設定、アダプターの選択、ライフサイクルのルールは はじめに.
コア artifact は共通 API と Cloudflare バックエンドを提供します。ローカルファイル、JDBC インデックス、Micronaut wiring が必要な場合だけ対応モジュールを追加します。
dev.nexcraft:r2d1共通コレクション API と R2 DocumentStore、D1 IndexStore アダプター。
モジュール設定 →dev.nexcraft:r2d1-jdbcアプリケーション所有の DataSource による H2、HSQLDB、ローカル SQLite インデックス。
JDBC の設定 →dev.nexcraft:r2d1-filesystemアトミックな置換と明示的な executor 所有権を持つローカル文書ファイル。
Filesystem の設定 →dev.nexcraft:r2d1-micronaut同じフレームワーク非依存コレクション API を Micronaut 5 の bean 設定と接続。
Micronaut の設定 →ドキュメントストアとインデックスストアを設定し、メタデータを定義してコレクションを開きます。