ボラタイル レイヤーからデータを取得します

ボラタイル レイヤーからデータを取得するには、レイヤーのすべてのパーティションを取得するか、特定の時間枠で変更された特定のパーティションについてレイヤーを照会します。

ボラタイル レイヤーからデータを取得するためにblobv1 API を使用することは推奨されていません。volatile-blobv1

データを取得するための一般的なフローは、次の手順で構成されています。

  1. 認可トークンを取得します
  2. API ベースの URL を取得します
  3. データ ハンドルを入手してください
  4. パーティション データを入手します

認可トークン を取得します

HTTP 要求の認可トークンを取得します。 手順について は、『 Identity & Access Management Guide 』を参照してください。

API ベースの URL を取得します

API ルックアップサービスを使用して、データを取得するカタログの API の API エンドポイントを取得します。 手順については 、『 API Lookup 開発者ガイド』を参照してください。

データ ハンドル を入手してください

レイヤーからデータを取得するには、目的のデータが含まれているパーティションのデータ ハンドルを把握している必要があります。 データ ハンドルの取得方法は、取得するデータによって異なります。

ご希望のパーティションのデータ ハンドルがすでにわかっている場合があります。 その場合は、この手順をスキップします。 たとえば、データを取得するレイヤーが HERE Tile Partitioning を使用し、データ ハンドルが HERE Tile ID の場合、必要なタイルのパーティション ID がすでにわかっている可能性があります。 この ID を使用すると、 ID を検索せずにデータを取得できます。 また、メタデータ応答から結果をキャッシュすることで、データ ハンドルを検索する必要がなくなります。 新しいパーティションが追加された場合、または既存のパーティションが削除された場合は、レイヤーのメタデータを再度読み取る必要があります。

レイヤー内のすべてのパーティションを取得するには metadata 、 API を使用してレイヤーからパーティション メタデータを取得します。

GET /<Base path for the metadata API from the API Lookup Service>/layers/<Layer ID>/partitions HTTP/1.1
Host: <Hostname for the metadata API from the API Lookup Service>
Authorization: Bearer <Authorization Token>
Cache-Control: no-cache

変更されたすべてのパーティションを取得するに は、metadata API を使用し、sinceTimeパラメータを使用して時間範囲を指定します。

GET /<Base path for the metadata API from the API Lookup Service>/layers/<Layer ID>/changes?sinceTime=<Epoch Seconds> HTTP/1.1
Host: <Hostname for the metadata API from the API Lookup Service>
Authorization: Bearer <Authorization Token>
Cache-Control: no-cache

提供された時間以降にパーティションのメタデータが変更され、そのデータがまだ変更されていない場合、そのパーティションは応答に含まれません。

変更された場合にのみパーティションを取得するに は、query API を使用してpartitionおよびsinceTimeのパラメータを指定します。

GET /<Base path for the query API from the API Lookup Service>/layers/<Layer ID>/changes?partition=<Partition ID>&sinceTime=<Epoch Seconds> HTTP/1.1
Host: <Hostname for the metadata API from the API Lookup Service>
Authorization: Bearer <Authorization Token>
Cache-Control: no-cache

変更 されたデータを含むパーティションのみ が含まれます。 パーティションのメタデータが変更され、そのデータがまだ変更されていない場合、そのパーティションは応答に含まれません。

レスポンス

これらの各クエリーに対する応答には、各パーティションのデータ ハンドルを含むパーティション メタデータの配列が含まれています。 例 :

{
  "partitions": [
    {
      "dataHandle": "1b2ca68f-d4a0-4379-8120-cd025640510c",
      "layer": "my-layer",
      "partition": "314010583",
      "partitionType": "reference",
      "version": 0
    }
  ]
}

パーティション データ を入手します

metadata API によって返されたパーティション メタデータで、目的のパーティションのデータ ハンドルを探します。 次に、データ ハンドルを使用し volatile-blob て API を使用してデータを取得します。

GET /<Base path for the volatile-blob API from the API Lookup Service>/layers/<Layer ID>/data/<Data Handle> HTTP/1.1
Host: <Hostname for the volatile-blob API from the API Lookup Service>
Authorization: Bearer <Authorization Token>
Cache-Control: no-cache

応答は、指定されたデータ ハンドルに最近アップロードされたバイナリデータで構成されます。 データ ハンドルに保存されているデータは揮発性なので、コール間で変更される可能性があります。

HTTP 5xx エラーを処理するための再試行ロジックがアプリケーションに含まれていることを推奨します。 再試行ロジックで指数バックオフを使用します。

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

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