データクライアント IndexApi

IndexApiインデックス REST API をミラーリングします。

クエリに一致するパーティションのデータハンドルを取得するために使用できます。 次に、 BLOB サービスでデータハンドルを使用して、パーティションからデータを取得します。 また、インデックス レイヤーはカタログのデータのインデックスです。 インデックス レイヤーの用途の 1 つは、ストリーム レイヤーからデータをアーカイブしてクエリーを実行できるようにすることです。

IndexApiのすべての仕様については 、 IndexApi を参照してください。

次のページでは 、リクエストごとの設定メトリクスについて説明します。

Scala
Java
val client = BaseClient()
val indexApi = client.of[IndexApi]

val someHrn = "hrn:here:data::olp-here-test:whatever"
val someLayer = "whateverIndexLayer"
val someQuery = "tileId=INBOUNDINGBOX=(23.648524, 22.689013, 62.284241, 60.218811)"
val result: Future[DataResponse] =
  indexApi.performQuery(someHrn, someLayer, someQuery).executeToEntity()

result
  .andThen {
    case Success(response) =>
      // do something with the index data response
      response.data.foreach { partitionMetadata =>
        partitionMetadata.foreach { kvmap =>
          kvmap.foreach { kv =>
            println(s"${kv._1} = ${kv._2}")
          }
        }
      }
    case Failure(ex) =>
      ex.printStackTrace()
  }

Await.result(result, Duration.Inf)
BaseClient client = BaseClientJava.instance();
IndexApi indexApi = new IndexApi(client);

String someHrn = "hrn:here:data::olp-here-test:whatever";
String someLayer = "whateverIndexLayer";
String someQuery = "tileId=INBOUNDINGBOX=(23.648524, 22.689013, 62.284241, 60.218811)";

DataResponse result =
    indexApi
        .performQuery()
        .withHrn(someHrn)
        .withLayerID(someLayer)
        .withQuery(someQuery)
        .build()
        .executeToEntity()
        .toCompletableFuture()
        .join();

// do something with the index data response
result
    .getData()
    .get()
    .forEach(
        partitionMetadata ->
            partitionMetadata
                .entrySet()
                .forEach(kv -> System.out.println(kv.getKey() + " = " + kv.getValue())));

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

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