HashStore 抽象化を使用して ScalarDL アプリケーションを書く
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このドキュメントでは、HashStore 抽象化を使用して ScalarDL アプリケーションを作成する方法について説明します。アプリケーションで ScalarDL HashStore を使用する方法、エラーを処理する方法、データを検証する方法について学習します。
ScalarDL HashStore Client SDK の使用
ScalarDL HashStore を使用するには、次の2つのオプションがあります:
- Get Started with ScalarDL HashStore で示されているようにコマンドを使用する
- HashStore Java Client SDK を使用する
コマンドの使用は、アプリケーションを作成せずに HashStore を試す便利な方法です。ただし、HashStore ベースのアプリケーションを構築する場合は、各操作で個別のプロセスを起動することなく、より効率的に動作する HashStore Client SDK が推奨されます。
HashStore Client SDK は Maven Central で利用できます。Gradle などのビルドツールを使用して、アプリケーションにインストールできます。たとえば、Gradle では、次の依存関係を build.gradle に追加できます。VERSION は使用したい ScalarDL のバージョンに置き換えてください。
dependencies {
implementation group: 'com.scalar-labs', name: 'scalardl-hashstore-java-client-sdk', version: '<VERSION>'
}
HashStore の Client SDK API は、HashStoreClientService というサービスクラスによって提供されます。以下は、HashStoreClientService を使用してオブジェクトとコレクションを管理する方法を示すコードスニペットです。HashStoreClientService は、ScalarDL HashStore をはじめようで示された HashStore クライアントコマンドと同じ機能を提供します。
// HashStoreClientServiceFactory は常に再利用する必要があります。
HashStoreClientServiceFactory factory = new HashStoreClientServiceFactory();
// HashStoreClientServiceFactory は create メソッドの呼び出しごとに新しい HashStoreClientService オブジェクトを作成しますが、
// パフォーマンスとリソース使用量を向上させるために、内部オブジェクトと接続をできるだけ再利用します。
HashStoreClientService service = factory.create(new ClientConfig(new File(properties)));
try {
// メタデータと共にオブジェクトのハッシュ値を格納します。
String objectId = ...;
String hash = ...;
JsonNode metadata = ...;
ExecutionResult result = service.putObject(objectId, hash, metadata);
} catch (ClientException e) {
System.err.println(e.getStatusCode());
System.err.println(e.getMessage());
}
factory.close();
HashStoreClientService オブジェクトを作成するには、常に HashStoreClientServiceFactory を使用する必要があります。HashStoreClientServiceFactory は HashStoreClientService の作成に必要なオブジェクトをキャッシュし、指定された設定に基づいてそれらを再利用するため、HashStoreClientServiceFactory オブジェクトは常に再利用する必要があります。
HashStoreClientServiceFactory と HashStoreClientService の詳細については、scalardl-hashstore-java-client-sdk Javadoc を参照してください。
エラーの処理
アプリケーションでエラーが発生した場合、Client SDK はステータスコードとエラーコードを含むエラーメッセージを持つ例外を返します。エラーの原因を特定するには、ステータスコードとエラーコードを確認する必要があります。ステータスコードとエラーコードの詳細については、ステータスコードとエラーコードを参照してください。