getModelManifestUtilízalo con un SDK AWS - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

getModelManifestUtilízalo con un SDK AWS

Los siguientes ejemplos de código muestran cómo utilizar getModelManifest.

Java
SDK para Java 2.x
nota

Hay más en marcha GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

/** * Waits for the specified model manifest to become active. * * @param manifestName the name of the model manifest to wait for */ public CompletableFuture<Void> waitForModelManifestActiveAsync(String manifestName) { CompletableFuture<Void> result = new CompletableFuture<>(); ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); AtomicInteger secondsElapsed = new AtomicInteger(0); AtomicReference<ManifestStatus> lastStatus = new AtomicReference<>(ManifestStatus.DRAFT); logger.info("Elapsed: 0s | Status: DRAFT"); final Runnable pollTask = new Runnable() { @Override public void run() { int elapsed = secondsElapsed.incrementAndGet(); // Only check status every 5 seconds if (elapsed % 5 == 0) { GetModelManifestRequest request = GetModelManifestRequest.builder() .name(manifestName) .build(); getAsyncClient().getModelManifest(request) .whenComplete((response, exception) -> { if (exception != null) { Throwable cause = exception instanceof CompletionException ? exception.getCause() : exception; scheduler.shutdown(); if (cause instanceof ResourceNotFoundException) { result.completeExceptionally(new RuntimeException("Model manifest not found: " + cause.getMessage(), cause)); } else { result.completeExceptionally(new RuntimeException("Error while polling model manifest status: " + exception.getMessage(), exception)); } return; } ManifestStatus status = response.status(); lastStatus.set(status); if (status == ManifestStatus.ACTIVE) { logger.info("\rElapsed: {}s | Status: ACTIVE", elapsed); scheduler.shutdown(); result.complete(null); } else if (status == ManifestStatus.INVALID) { logger.info("\rElapsed: {}s | Status: INVALID", elapsed); scheduler.shutdown(); result.completeExceptionally(new RuntimeException("Model manifest became INVALID. Cannot proceed.")); } else { logger.info("\rElapsed: {}s | Status: {}", elapsed, status); } }); } else { logger.info("\rElapsed: {}s | Status: {}", elapsed, lastStatus.get()); } } }; // Start the task with an initial delay of 1 second, and repeat every second scheduler.scheduleAtFixedRate(pollTask, 1, 1, TimeUnit.SECONDS); return result; }
  • Para obtener más información sobre la API, consulta getModelManifestla Referencia AWS SDK for Java 2.x de la API.

Kotlin
SDK para Kotlin
nota

Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

/** * Waits for the specified model manifest to become active. * * @param manifestName the name of the model manifest to wait for */ suspend fun waitForModelManifestActive(manifestNameVal: String) { var elapsedSeconds = 0 var lastStatus: ManifestStatus = ManifestStatus.Draft print("⏳ Elapsed: 0s | Status: DRAFT") IotFleetWiseClient.fromEnvironment { region = "us-east-1" }.use { fleetwiseClient -> while (true) { delay(1000) elapsedSeconds++ if (elapsedSeconds % 5 == 0) { val request = GetModelManifestRequest { name = manifestNameVal } val response = fleetwiseClient.getModelManifest(request) lastStatus = response.status ?: ManifestStatus.Draft when (lastStatus) { ManifestStatus.Active -> { print("\r Elapsed: ${elapsedSeconds}s | Status: ACTIVE ✅\n") return } ManifestStatus.Invalid -> { print("\r Elapsed: ${elapsedSeconds}s | Status: INVALID ❌\n") throw RuntimeException("Model manifest became INVALID. Cannot proceed.") } else -> { print("\r Elapsed: ${elapsedSeconds}s | Status: $lastStatus") } } } else { print("\r Elapsed: ${elapsedSeconds}s | Status: $lastStatus") } } } }
  • Para obtener más información sobre la API, consulta getModelManifestla referencia sobre el AWS SDK para la API de Kotlin.