Esperadores - AWS SDK para Kotlin

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.

Esperadores

Los esperadores son una abstracción del cliente que se utilizan para sondear un recurso hasta que se alcance el estado deseado o se determine que el recurso no entrará en el estado deseado. Esta es una tarea habitual cuando se trabaja con servicios que finalmente son coherentes, como Amazon Simple Storage Service (Amazon S3), o servicios que crean recursos de forma asíncrona, como Amazon. EC2

Escribir lógica para sondear continuamente el estado de un recurso puede resultar engorroso y aumentar la probabilidad de errores. El objetivo de los camareros es trasladar esta responsabilidad del código del cliente a la que tiene un conocimiento profundo de los AWS SDK para Kotlin aspectos relacionados con el tiempo de la operación. AWS

nota

Los siguientes ejemplos utilizan Amazon S3. Sin embargo, los conceptos son los mismos para todos los Servicio de AWS que tengan uno o más esperadores definidos. Todas las extensiones se definen en el aws.sdk.kotlin.<service>.waiters paquete (por ejemplo,aws.sdk.kotlin.dynamodb.waiters). También siguen una convención de nomenclatura estándar (waitUntil<Condition>).

El siguiente ejemplo de código muestra el uso de una función de camarero que permite evitar escribir la lógica de las votaciones.

Importaciones

import aws.sdk.kotlin.services.s3.S3Client import aws.sdk.kotlin.services.s3.waiters.waitUntilBucketExists

Código

val s3 = S3Client.fromEnvironment() // This initiates creating an S3 bucket and potentially returns before the bucket exists. s3.createBucket { bucket = "amzn-s3-demo-bucket" } // When this function returns, the bucket either exists or an exception // is thrown. s3.waitUntilBucketExists { bucket = "amzn-s3-demo-bucket" } // The bucket now exists.
nota

Cada método de espera devuelve una Outcome instancia que se puede utilizar para obtener la respuesta final que corresponde a alcanzar la condición deseada. El resultado también contiene detalles adicionales, como el número de intentos realizados para alcanzar el estado deseado.