Configuración de reintentos en el AWS SDK para Ruby - AWS SDK for Ruby

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.

Configuración de reintentos en el AWS SDK para Ruby

El AWS SDK para Ruby proporciona un comportamiento de reintento predeterminado para las solicitudes de servicio y opciones de configuración personalizables. Las llamadas a Servicios de AWS ocasionalmente devuelven excepciones inesperadas. Pueden producirse determinados tipos errores, como la limitación o errores temporales, si se vuelve a intentar la llamada.

El comportamiento de los reintentos se puede configurar globalmente mediante variables de entorno o ajustes del archivo config de AWS compartido. Para obtener información sobre este enfoque, consulte Comportamiento de los reintentos en la Guía de referencia de herramientas y AWS SDK. También incluye información detallada sobre las implementaciones de las estrategias de reintento y sobre cómo elegir una u otra.

Como alternativa, estas opciones también se pueden configurar en el código, como se muestra en las siguientes secciones.

Especificación del comportamiento de reintento del cliente en el código

De forma predeterminada, AWS SDK para Ruby realiza hasta tres reintentos, dejando transcurrir 15 segundos entre los reintentos, lo que equivale a un total de cuatro intentos. Por lo tanto, una operación podría tardar hasta 60 segundos en agotar el tiempo de espera.

El siguiente ejemplo crea un cliente de Amazon S3 en la región us-west-2 y especifica esperar cinco segundos entre dos reintentos en cada operación de cliente. Por lo tanto, las operaciones de cliente de Amazon S3 podrían tardar hasta 15 segundos en agotar el tiempo de espera.

s3 = Aws::S3::Client.new( region: region, retry_limit: 2, retry_backoff: lambda { |c| sleep(5) } )

Cualquier configuración explícita establecida en el código o en el propio cliente de servicio tiene prioridad sobre la establecida en las variables de entorno o en el archivo compartido config.