オブジェクト ストア レイヤーで作業します

この例では、 HERE Data SDK for TypeScript を使用して Node.js のオブジェクト ストア レイヤーからデータを読み取り、そのデータを書き込みます。

Node.js でアプリをビルドして実行します

アプリをビルドする前に、すべての依存関係がインストールされていることを確認してください。

Node.js でアプリをビルドして実行するには、次の手順に従います。

  1. NPM プロジェクトを作成します。

    mkdir example-app && cd example-app && npm init
    
  2. TypeScript プロジェクトを初期化します。

    tsc --init
    
  3. インストールノードタイプ。

    npm install --save-dev @types/node
    
  4. SDK モジュールを取り付けます。

    npm install --save @here/olp-sdk-authentication @here/olp-sdk-dataservice-api
    

    ここで、すべてがアプリを作成するように設定されます。

  5. index.ts ファイルとアプリスケルトンを作成します。

    /**
     * An example of the Node.js app used for reading data from and writing it to an object store layer in the datastore.
     */
    
    class App {
      run() {
        console.log("App works!");
      }
    }
    
    const app = new App();
    app.run();
    
  6. アプリをコンパイルして実行します。

    tsc && node .
    

正常に実行されると、コンソールに次のメッセージが表示されます。

App works!

作成 RequestBuilder

RequestBuilderObjectStoreApi の機能を使用する必要 @here/olp-sdk-dataservice-apiがあります。 ObjectStoreApi これらの機能を使用して 、オブジェクト ストア レイヤーから任意のデータを要求できます。

RequestBuilder インスタンスを作成するには :

  1. OlpClientSettings オブジェクトを作成します。

    手順については、「プラットフォームクライアント設定を作成する」を参照してください。

  2. RequestBuilderRequestFactory カタログ HERE リソースネーム 、ステップ 1 のプラットフォームクライアント設定、 API 名、および API バージョンを含むを使用して、インスタンスを作成します。

    const requestBuilder = await RequestFactory.create(
       "blob", 
       "v2", 
       settings, 
       HRN.fromString("your-catalog-HRN")
    );
    

オブジェクト ストア レイヤーからデータを取得します

キーまたはデータ ハンドルを使用して、オブジェクト ストア レイヤーから任意のデータを要求できます。

オブジェクト ストア レイヤーからデータを取得するには、次の手順に従います。

  1. RequestBuilder オブジェクトを作成します。

    手順については 、「 RequestBuilder を作成する」を参照してください。

  2. getBlobByKey 要求したデータのキーとレイヤー ID を使用して関数を呼び出します。

    const result = await ObjectStoreApi.getBlobByKey(requestBuilder, {
       key: "your-data-key",
       layerId: "your-layer-id"
    });
    

選択したレイヤーの要求されたキーからデータを受信します。

オブジェクト ストア レイヤーからすべてのキーを取得します

オブジェクト ストア レイヤーからすべてのキーのリストを取得できます。

キーのリストを取得するには、次の手順に従います。

  1. RequestBuilder オブジェクトを作成します。

    手順については 、「 RequestBuilder を作成する」を参照してください。

  2. listKeys キーの一覧表を取得するレイヤーの ID を使用して関数を呼び出します。

    const result = await ObjectStoreApi.listKeys(requestBuilder, {
       layerId: "your-layer-id"
    });
    

選択したレイヤーの 1 つのレベルのすべてのキーのリストが表示されます。 このリストは仮想ディレクトリです。 この構造体は、スラッシュ (/) を区切り文字として使用するストレージ内のキーで構成されています。 各キーについて、フォルダまたはオブジェクトであるかどうかが応答で示されます。 フォルダー内の次のレベルのキーを取得するには、この関数をクエリ文字列の親を使用して再帰的に呼び出します。

オブジェクト ストア レイヤーにデータを公開します

キーを参照することで、オブジェクト ストア レイヤーにデータを公開できます。 192 MB までのデータには、シングルパートアップロード方式を使用します。 大量のデータをアップロードする場合は、マルチパートのアップロード方法を使用します。

新しいデータを公開すると、古いデータが上書きされます。

単一パーツのアップロード方法を使用してデータをパブリッシュします

  1. RequestBuilder オブジェクトを作成します。

    手順については 、「 RequestBuilder を作成する」を参照してください。

  2. putBlobByKey レイヤー ID とデータキー、データ長、およびコンテンツタイプを使用して関数を呼び出します。

    const result = await ObjectStoreApi.putBlobByKey(requestBuilder, {
       layerId: "your-layer-id",
       key: "your-data-key",
       contentLength: data.length,
       body: data
    });
    

操作のステータスを含むデータストアからの応答を受信しました。

複数パーツのアップロード方法を使用してデータをパブリッシュします

  1. OlpClientSettings オブジェクトが作成されたことを確認してください。

    手順については、「プラットフォームクライアント設定を作成する」を参照してください。

  2. 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
     );
    
  3. データをアップロードするには upload 、次のいずれかの値を使用してメソッドを呼び出します。

    • ブラウザの場合 : File || BlobArrayBufferLike
    • Node.js:string ( ファイルのパス )| の場合 ArrayBufferLike

      await wrapper.upload("your data");
      

操作のステータスを含むデータストアからの応答を受信しました。

大量のデータのアップロードを練習し、 Blob API v1 にアップロードする方法については、 MultiPartUploadWrapper の例を参照してください。

オブジェクト ストア レイヤーからデータを削除します

キーを使用して、任意のオブジェクト ストア レイヤーからデータを削除できます。

オブジェクト ストア レイヤーからデータを削除するには、次の手順に従います。

  1. RequestBuilder オブジェクトを作成します。

    手順については 、「 RequestBuilder を作成する」を参照してください。

  2. deleteBlobByKey 削除するデータのキーとレイヤー ID を使用して関数を呼び出します。

    const result = await ObjectStoreApi.deleteBlobByKey(requestBuilder, {
       layerId: "your-layer-id",
       key: "your-data-key"
    });
    

操作のステータスを含むデータストアからの応答を受信しました。

詳細については、『 Data ユーザー ガイド and Data API 』を参照してください。

」に一致する結果は 件です

    」に一致する結果はありません