Use createSignalCatalog with an AWS SDK - AWS SDK Code Examples

There are more AWS SDK examples available in the AWS Doc SDK Examples GitHub repo.

Use createSignalCatalog with an AWS SDK

The following code examples show how to use createSignalCatalog.

Java
SDK for Java 2.x
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

/** * Creates a signal catalog. * * @param signalCatalogName the name of the signal catalog to be created * @return a {@link CompletableFuture} that completes with the Amazon Resource Name (ARN) of the created signal catalog */ public CompletableFuture<String> createSignalCatalogAsync(String signalCatalogName) { return deleteSignalCatalogIfExistsAsync(signalCatalogName) .thenCompose(ignored -> delayAsync(2000)) // Wait for 2 seconds .thenCompose(ignored -> { List<Node> nodes = List.of( Node.builder().branch( Branch.builder() .fullyQualifiedName("Vehicle") .description("Root branch") .build() ).build(), Node.builder().branch( Branch.builder() .fullyQualifiedName("Vehicle.Powertrain") .description("Powertrain branch") .build() ).build(), Node.builder().sensor( Sensor.builder() .fullyQualifiedName("Vehicle.Powertrain.EngineRPM") .description("Engine RPM") .dataType(NodeDataType.DOUBLE) .unit("rpm") .build() ).build(), Node.builder().sensor( Sensor.builder() .fullyQualifiedName("Vehicle.Powertrain.VehicleSpeed") .description("Vehicle Speed") .dataType(NodeDataType.DOUBLE) .unit("km/h") .build() ).build() ); CreateSignalCatalogRequest request = CreateSignalCatalogRequest.builder() .name(signalCatalogName) .nodes(nodes) .build(); CompletableFuture<String> result = new CompletableFuture<>(); getAsyncClient().createSignalCatalog(request) .whenComplete((response, exception) -> { if (exception != null) { Throwable cause = exception.getCause() != null ? exception.getCause() : exception; if (cause instanceof ValidationException) { result.completeExceptionally(cause); } else { result.completeExceptionally(new RuntimeException("Error creating the catalog", cause)); } } else { result.complete(response.arn()); } }); return result; }); }
Kotlin
SDK for Kotlin
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

/** * Creates a signal catalog. * * @param signalCatalogName the name of the signal catalog to create the branch vehicle in * @return the ARN (Amazon Resource Name) of the created signal catalog */ suspend fun createbranchVehicle(signalCatalogName: String): String { delay(2000) // Wait for 2 seconds val branchVehicle = Branch { fullyQualifiedName = "Vehicle" description = "Root branch" } val branchPowertrain = Branch { fullyQualifiedName = "Vehicle.Powertrain" description = "Powertrain branch" } val sensorRPM = Sensor { fullyQualifiedName = "Vehicle.Powertrain.EngineRPM" description = "Engine RPM" dataType = NodeDataType.Double unit = "rpm" } val sensorKM = Sensor { fullyQualifiedName = "Vehicle.Powertrain.VehicleSpeed" description = "Vehicle Speed" dataType = NodeDataType.Double unit = "km/h" } // Wrap each specific node type (Branch and Sensor) into the sealed Node class // so they can be included in the CreateSignalCatalogRequest. val myNodes = listOf( Node.Branch(branchVehicle), Node.Branch(branchPowertrain), Node.Sensor(sensorRPM), Node.Sensor(sensorKM), ) val request = CreateSignalCatalogRequest { name = signalCatalogName nodes = myNodes } IotFleetWiseClient { region = "us-east-1" }.use { fleetwiseClient -> val response = fleetwiseClient.createSignalCatalog(request) return response.arn } }