インデックス レイヤーから読み取ります
この例では、 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-read @here/olp-sdk-dataservice-api
ここで、すべてがアプリを作成するように設定されます。
-
index.ts
ファイルとアプリスケルトンを作成します。
class App {
run() {
console.log("App works!");
}
}
const app = new App();
app.run();
-
アプリをコンパイルして実行します。
tsc && node .
正常に実行されると、コンソールに次のメッセージが表示されます。
App works!
作成 IndexLayerClient
このIndexLayerClient
オブジェクトを使用して、インデックス レイヤーから任意のデータおよびパーティション メタデータを要求できます。
IndexLayerClient
オブジェクトを作成するには :
-
OlpClientSettings
オブジェクトを作成します。
手順については、「プラットフォームクライアント設定を作成する」を参照してください。
-
IndexLayerClient
IndexLayerClientParams
ステップ 1 で設定したレイヤー、レイヤー ID 、およびプラットフォームクライアントを含むカタログの HERE リソースネーム ( HERE リソースネーム )を含むオブジェクトを作成します。
const indexLayerClient = await new IndexLayerClient({
catalogHrn: HRN.fromString("your-catalog-hrn"),
layerId: "your-layer-id",
settings: olpClientSettings,
});
インデックス レイヤーからのパーティション メタデータ は、パーティションに関する次の情報で構成されています。
- ID (データ ハンドル)
- データサイズ
- チェックサム
- メタデータ
- タイムスタンプ
インデックス レイヤーからパーティション メタデータを取得するには、次の手順に従います。
-
IndexLayerClient
オブジェクトを作成します。
手順については、「 IndexLayerClient を作成する」を参照してください。
-
IndexQueryRequest
RSQL クエリー文字列を使用してオブジェクトを作成し、クエリー文字列が大きい場合 huge
は、ブール型パラメータをに設定 true
します。
注
huge
パラメータは任意で、デフォルト値はです false
。
const request = new IndexQueryRequest()
.withQueryString("RSQL string query")
.withHugeResponse(true);
-
getPartitions
IndexQueryRequest
パラメーターを使用してメソッドを呼び出します。
const partitions = await indexLayerClient.getPartitions(request);
RSQL クエリによってパーティション メタデータがフィルタリングされます。
ブラウザおよび Node.js AbortController
AbortController.signal
で、リクエストが完了する前にリクエストを中止するには、オブジェクトを作成してから、そのプロパティをリクエストに追加します。 詳細については AbortController
、のマニュアルを参照してください。
例
const abortController = new AbortController();
const partitions = await indexLayerClient.getPartitions(request),
abortController.signal
);
インデックス レイヤーからデータを取得します
インデックス レイヤー は、属性によるカタログデータのインデックスです。 インデックス レイヤーに問い合わせて、クエリ条件を満たすデータのデータハンドルを取得し、これらのデータハンドルを使用して対応するデータを取得できます。
インデックス レイヤーからデータを取得するには、次の手順に従います。
-
IndexLayerClient
オブジェクトを作成します。
手順については、「 IndexLayerClient を作成する」を参照してください。
-
getData
ID プロパティを含むデータモデルを使用してメソッドを呼び出します(データ ハンドルとしても使用されます)。
const data = await indexLayerClient.getData(model);
要求されたパーティションからデータを受信しました。
ブラウザおよび Node.js AbortController
AbortController.signal
で、リクエストが完了する前にリクエストを中止するには、オブジェクトを作成してから、そのプロパティをリクエストに追加します。 詳細については AbortController
、のマニュアルを参照してください。
例
const abortController = new AbortController();
const data = await indexLayerClient.getData(model, abortController.signal);