オブジェクト ストア レイヤーで作業します
この例では、 HERE Data SDK for TypeScript を使用して Node.js のオブジェクト ストア レイヤーからデータを読み取り、そのデータを書き込みます。
Node.js でアプリをビルドして実行します
アプリをビルドする前に、すべての依存関係がインストールされていることを確認してください。
Node.js でアプリをビルドして実行するには、次の手順に従います。
-
NPM プロジェクトを作成します。
mkdir example-app && cd example-app && npm init
-
TypeScript プロジェクトを初期化します。
tsc --init
-
インストールノードタイプ。
npm install --save-dev @types/node
-
SDK モジュールを取り付けます。
npm install --save @here/olp-sdk-authentication @here/olp-sdk-dataservice-api
ここで、すべてがアプリを作成するように設定されます。
-
index.ts
ファイルとアプリスケルトンを作成します。
class App {
run() {
console.log("App works!");
}
}
const app = new App();
app.run();
-
アプリをコンパイルして実行します。
tsc && node .
正常に実行されると、コンソールに次のメッセージが表示されます。
App works!
作成 RequestBuilder
RequestBuilder
ObjectStoreApi
の機能を使用する必要 @here/olp-sdk-dataservice-api
があります。 ObjectStoreApi
これらの機能を使用して 、オブジェクト ストア レイヤーから任意のデータを要求できます。
RequestBuilder
インスタンスを作成するには :
-
OlpClientSettings
オブジェクトを作成します。
手順については、「プラットフォームクライアント設定を作成する」を参照してください。
-
RequestBuilder
RequestFactory
カタログ HERE リソースネーム 、ステップ 1 のプラットフォームクライアント設定、 API 名、および API バージョンを含むを使用して、インスタンスを作成します。
const requestBuilder = await RequestFactory.create(
"blob",
"v2",
settings,
HRN.fromString("your-catalog-HRN")
);
オブジェクト ストア レイヤーからデータを取得します
キーまたはデータ ハンドルを使用して、オブジェクト ストア レイヤーから任意のデータを要求できます。
オブジェクト ストア レイヤーからデータを取得するには、次の手順に従います。
-
RequestBuilder
オブジェクトを作成します。
手順については 、「 RequestBuilder を作成する」を参照してください。
-
getBlobByKey
要求したデータのキーとレイヤー ID を使用して関数を呼び出します。
const result = await ObjectStoreApi.getBlobByKey(requestBuilder, {
key: "your-data-key",
layerId: "your-layer-id"
});
選択したレイヤーの要求されたキーからデータを受信します。
オブジェクト ストア レイヤーからすべてのキーを取得します
オブジェクト ストア レイヤーからすべてのキーのリストを取得できます。
キーのリストを取得するには、次の手順に従います。
-
RequestBuilder
オブジェクトを作成します。
手順については 、「 RequestBuilder を作成する」を参照してください。
-
listKeys
キーの一覧表を取得するレイヤーの ID を使用して関数を呼び出します。
const result = await ObjectStoreApi.listKeys(requestBuilder, {
layerId: "your-layer-id"
});
選択したレイヤーの 1 つのレベルのすべてのキーのリストが表示されます。 このリストは仮想ディレクトリです。 この構造体は、スラッシュ (/) を区切り文字として使用するストレージ内のキーで構成されています。 各キーについて、フォルダまたはオブジェクトであるかどうかが応答で示されます。 フォルダー内の次のレベルのキーを取得するには、この関数をクエリ文字列の親を使用して再帰的に呼び出します。
オブジェクト ストア レイヤーにデータを公開します
キーを参照することで、オブジェクト ストア レイヤーにデータを公開できます。 192 MB までのデータには、シングルパートアップロード方式を使用します。 大量のデータをアップロードする場合は、マルチパートのアップロード方法を使用します。
新しいデータを公開すると、古いデータが上書きされます。
単一パーツのアップロード方法を使用してデータをパブリッシュします
-
RequestBuilder
オブジェクトを作成します。
手順については 、「 RequestBuilder を作成する」を参照してください。
-
putBlobByKey
レイヤー ID とデータキー、データ長、およびコンテンツタイプを使用して関数を呼び出します。
const result = await ObjectStoreApi.putBlobByKey(requestBuilder, {
layerId: "your-layer-id",
key: "your-data-key",
contentLength: data.length,
body: data
});
操作のステータスを含むデータストアからの応答を受信しました。
複数パーツのアップロード方法を使用してデータをパブリッシュします
-
OlpClientSettings
オブジェクトが作成されたことを確認してください。
手順については、「プラットフォームクライアント設定を作成する」を参照してください。
-
MultiPartUploadWrapper
Blob API 、 catalog HERE リソースネーム 、コンテンツタイプ、データ ハンドル、およびレイヤー ID のバージョンでクラスを初期化します。
const wrapper = new MultiPartUploadWrapper(
{
blobVersion: "v2",
catalogHrn: "your-catalog-HRN",
contentType: "your-content-type",
handle: "your-data-key",
layerId: "your-layer-id",
},
settings
);
-
データをアップロードするには upload
、次のいずれかの値を使用してメソッドを呼び出します。
操作のステータスを含むデータストアからの応答を受信しました。
大量のデータのアップロードを練習し、 Blob API v1 にアップロードする方法については、 MultiPartUploadWrapper の例を参照してください。
オブジェクト ストア レイヤーからデータを削除します
キーを使用して、任意のオブジェクト ストア レイヤーからデータを削除できます。
オブジェクト ストア レイヤーからデータを削除するには、次の手順に従います。
-
RequestBuilder
オブジェクトを作成します。
手順については 、「 RequestBuilder を作成する」を参照してください。
-
deleteBlobByKey
削除するデータのキーとレイヤー ID を使用して関数を呼び出します。
const result = await ObjectStoreApi.deleteBlobByKey(requestBuilder, {
layerId: "your-layer-id",
key: "your-data-key"
});
操作のステータスを含むデータストアからの応答を受信しました。
詳細については、『 Data ユーザー ガイド and Data API 』を参照してください。