View a markdown version of this page

Prácticas recomendadas para AWS Desarrollo con AWS SDK para Java - AWS SDK para Java 1.x

La versión AWS SDK para Java 1.x finalizó su soporte el 31 de diciembre de 2025. Le recomendamos que migre a AWS SDK for Java 2.x para seguir recibiendo nuevas características, mejoras de disponibilidad y actualizaciones de seguridad.

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.

Prácticas recomendadas para AWS Desarrollo con AWS SDK para Java

Las siguientes prácticas recomendadas pueden ayudarlo a evitar problemas o problemas a la hora de desarrollar AWS aplicaciones con AWS SDK para 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 surjan problemas de conectividad de red o de tiempo de espera. De forma predeterminada, los AWS SDK para Java intentos de reintentar las transferencias fallan. Para ello, se marca la secuencia de entrada antes del inicio de la transferencia y, a continuación, se restablece antes de volver a intentarlo.

Si la transmisión no admite el marcado y el restablecimiento, el SDK emite un mensaje ResetException cuando 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 evitarlo ResetException es proporcionar datos mediante un archivo o FileInputStream, que el usuario AWS SDK para Java pueda gestionar sin estar limitado por los límites de marcado y restablecimiento.

Si la transmisión no es una, FileInputStream pero sí admite marcar y restablecer, puedes establecer el límite de marcas mediante el setReadLimit método de RequestClientOptions. Su valor predeterminado es 128 KB. Establecer el valor límite de lectura en un byte mayor que el tamaño de la transmisión evitará de manera confiable 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.