Mejores prácticas para el AWS desarrollo con AWS SDK for Java - AWS SDK for Java 1.x

Anunciamos la próxima versión end-of-support para AWS SDK for Java (v1). Se recomienda que migre a AWS SDK for Java versión 2. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

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.

Mejores prácticas para el AWS desarrollo con AWS SDK for Java

Las siguientes prácticas recomendadas pueden ayudarle a evitar problemas o problemas al desarrollar AWS aplicaciones con AWS SDK for Java. Hemos organizado las prácticas recomendadas por servicio.

S3

Evite ResetExceptions

Al cargar objetos Amazon S3 mediante transmisiones (ya sea a través de un AmazonS3 cliente oTransferManager), es posible que se produzcan problemas de conectividad de red o de tiempo de espera. De forma predeterminada, los AWS SDK for Java intentos de reintentar realizar transferencias fallidas marcando el flujo de entrada antes del inicio de la transferencia y restableciéndolo antes de volver a intentarlo.

Si la transmisión no admite marcar y restablecer, el SDK lanza una ResetExceptioncuando hay errores transitorios y los reintentos están habilitados.

Práctica recomendada

Le recomendamos que utilice secuencias que admitan operaciones de marcado y restablecimiento.

La forma más fiable de evitar un ResetExceptiones proporcionar datos mediante un archivo o FileInputStream, que AWS SDK for Java puedan gestionar sin verse limitados por los límites de marcar y restablecer.

Si la transmisión no es una, FileInputStreampero admite marcar y restablecer, puedes establecer el límite de marcas mediante el setReadLimit método de RequestClientOptions. Su valor predeterminado es 128 KB. Si se establece el valor límite de lectura en un byte mayor que el tamaño de la transmisión, se evitará de forma fiable un ResetException.

Por ejemplo, si el tamaño máximo esperado de una secuencia es de 100 000 bytes, defina el límite de lectura en 100 001 (100 000+1) bytes. Las operaciones de marca y restablecimiento siempre funcionan para 100 000 bytes o menos. Tenga en cuenta que esto puede provocar que algunas secuencias almacenen ese número de bytes en memoria.