インデックス レイヤー に公開します

インデックス レイヤー は、カタログのデータのインデックスです。 インデックス レイヤー の用途の 1 つは、ストリーム レイヤー からデータをアーカイブしてクエリーを実行できるようにすることです。 詳細について は、「ストリーム データのアーカイブ」を参照してください。

HERE では、インデックス レイヤー に多数の小さなファイルのメタデータ を保存するのではなく、インデックスを作成する前に、同じインデックス属性を持つメッセージをグループ化することをお勧めします。

インデックス レイヤーにデータを公開するには、 REST API index を使用 します。

  1. HTTP 要求で使用する許可トークンを取得します。 手順について は、『 Identity & Access Management Guide 』を参照してください。
  2. API ルックアップサービスを使用して、書き込み先のカタログのblobv1およびindexv1 API のベース URL を取得します。 API ルックアップサービスの使用方法については 、『 API Lookup 開発者ガイド』を参照してください。
  3. データのUUIDを生成 し、blob API 経由でアップロードします。 UUID は小文字のみで構成され、有効な UUID である必要があります。 blob API の詳細については 、『 API リファレンス』を参照してください。
  4. index API を使用して、手順 3 で生成した ID と同じ ID でインデックスデータをレイヤーに送信します。 例 :

    POST /<Base path for the index API from the API Lookup Service>/layers/<Layer ID> HTTP/1.1
    Host: <Hostname for the index API from the API Lookup Service>
    Authorization: Bearer <Authorization Token>
    Content-Type: <Content type configured for the target layer>
    Cache-Control: no-cache
    
    [
     {
       "checksum": "28271214-1532-4cb3-9cd7-35bef1735055",
       "fields": {
         "ingestionTime": 1552383031000,
         "tile": 23618359
       },
       "id": "e9e05a2b-25d1-415d-bc6a-14a1be626c9a",
       "metadata": {},
       "size": 155
     }
    ]
    

    属性値の検証規則

上記のリクエスト本文の属性の値は、次のルールに準拠している必要があります。

  1. ID 属性は、 [0-9a-f] { 8 } -[0-9a-f] { 4 } -[0-9a-f] { 4 } -[0-9a-f] { 4 } -[0-9a-f] { 4 } -[0-9a-f] { 12 } として定義された UUID 形式に準拠している必要があります
  2. インデックスレコードの最大サイズは 256B です。 インデックスレコードのサイズは、次のルールを使用して、その部分の合計として計算されます。
    • すべてのユーザー定義フィールドは、レコードサイズの計算時に考慮されます
    • すべてのメタ属性は、レコードサイズの計算時に考慮されます
    • フィールド / 属性のサイズは、そのタイプによって異なります。
      • Bool は 1 バイトとしてカウントされます
      • 整数 ( 廃止予定 ) & long count には 8 バイトを指定します。
      • タイムスタンプ、 heretile 、および timewindow は 8 バイトとしてカウントされます
      • 文字列のサイズはバイト数と同じです
  3. Timewindow 属性値は、エポックからのミリ秒単位の長い数値です。 必須で、 null にすることはできません。 インデックスサービスは、ストレージ前のタイムウィンドウ属性の「 duration 」に基づいて値を切り捨てます。

インデックスサービスの POST リクエスト 制約

インデックスサービスでは、次の制約が適用されます。

  1. インデックスサービスへの POST リクエスト には、未定義のインデックス属性 ( 「フィールド」内で表されます ) を含めることはできません。 ただし、 POST リクエスト の最上位レベルの不要な属性は無視されます。 たとえば、追加の「挨拶」フィールドが追加されますが、インデックス レイヤーによってフィルタリングされ、「挨拶」なしでレコードが保持されます。
     {
       "checksum": "4d1e358e-b547-478c-abd0-3abee9ac71e8",
       "fields": {
         "ingestionTime": 123,
         "tileId": null
       },
       "id": "75420ce9-e4d0-4d74-9c7a-19810f99a3a9",
       "metadata": {
         "ingestionTime": "1532018660873"
       },
       "size": 100,
       "greeting": "hello"
     }
    
  2. ユーザー定義属性 ( timewindow フィールドを除く ) については、属性が指定されていない場合、 null と見なされ、 null として保存されます。
  3. 1 つのインデックス POST ( 挿入 ) API 呼び出しに挿入されるインデックスレコードの最大数は 2000 です。

    index API の詳細については 、『 API リファレンス』を参照してください。

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

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