データクライアント設定 API

設定 API は 、 設定 REST API をミラーリングします。

これらのクラスは、基本的なカタログ管理操作を提供し、これらのリソースに対するさまざまな種類のカタログおよび操作に必要なすべてのプラットフォームリソースを管理します。 また、レイヤーのサブスクリプションも提供されます。

両方の API クラスについて 、リクエストごとの設定メトリクスが適用されます。

ConfigApi

カタログを管理する手段を提供します。

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

Scala
Java
val client = BaseClient()
val configApi = client.of[ConfigApi]

val result = configApi.getCatalogs().executeToEntity()

result
  .andThen {
    case Success(response: CatalogsSummaryListResult) =>
      // do something with the list of catalogs
      response.results.map(_.items.map(_.foreach(cat => println(cat.hrn))))
    case Failure(ex) =>
      ex.printStackTrace()
  }

Await.result(result, Duration.Inf)
BaseClient client = BaseClientJava.instance();
ConfigApi configApi = new ConfigApi(client);

CatalogsSummaryListResult listResult =
    (CatalogsSummaryListResult)
        configApi.getCatalogs().build().executeToEntity().toCompletableFuture().join();

// do something with the list of catalogs
listResult
    .getResults()
    .ifPresent(
        summary ->
            summary
                .getItems()
                .ifPresent(
                    items -> items.forEach(cat -> System.out.println(cat.getHrn().get()))));

サブスクリプションアプリ

レイヤー内の変更をサブスクライブする方法を提供します。

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

Scala
Java
val client = BaseClient()
val subscriptionApi = client.of[SubscriptionApi]

val xIdempotencyKey = "abc-123"

// TODO: example will be completed with one of the next releases
/*
val catalogHrn = "this needs to be a valid HRN" // note: in this example both layers belong to the same catalog
val subscribedLayer = "myInteractiveMapLayerWhichIWantToSubscribeTo"
val notificationLayer = "myStreamLayerWhichReceivesTheMessageAboutChanges"

val subscriptionRequestBody = CreateSubscriptionRequestBody(
  subscriptionName = "someNameWhichCanBeUsedForHRN",
  description = "some descriptive free text",
  sourceCatalog = catalogHrn,
  sourceLayer = subscribedLayer,
  destinationCatalog = catalogHrn,
  destinationLayer = notificationLayer,
  interactiveMapSubscription = SubscriptionInteractiveMapLayerAllOfInteractiveMapSubscription.Type.PerFeature
)
 */

val subscriptionStatusToken = subscriptionApi
  .createSubscription(
    xIdempotencyKey,
    subscriptionRequestBody
  )
  .toEntity()

// wait some time or check status in a loop
val subscriptionStatus = subscriptionApi
  .getSubscriptionStatus(subscriptionStatusToken.statusToken)
  .toEntity()
if (subscriptionStatus.status.value != SubscriptionStatus.Status.Active.value)
  throw new RuntimeException("subscription is not active")

val subscription = subscriptionApi
  .getSubscription(subscriptionStatus.subscriptionHrn.get)
  .toEntity()

println(
  s"subscription ${subscription.subscriptionHrn.get} with name ${subscription.subscriptionName}")

subscriptionApi
  .listSubscriptions()
  .toEntity()
  .items
  .foreach(s => println(s.subscriptionHrn.get))

subscriptionApi
  .deleteSubscription(
    subscription.subscriptionHrn.get,
    xIdempotencyKey
  )
  .toEntity()
BaseClient client = BaseClientJava.instance();
SubscriptionApi subscriptionApi = new SubscriptionApi(client);

// note: in this example both layers belong to the same catalog
String catalogHrn = "this needs to be a valid HRN";
String subscribedLayer = "myInteractiveMapLayerWhichIWantToSubscribeTo";
String notificationLayer = "myStreamLayerWhichReceivesTheMessageAboutChanges";
String xIdempotencyKey = "abc-123";

// TODO: example will be completed with one of the next releases

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

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