Prácticas recomendadas para los errores de Amazon S3 - Amazon Simple Storage Service

Prácticas recomendadas para los errores de Amazon S3

Cuando diseña una aplicación para utilizar con Amazon S3 es importante controlar correctamente los errores de Amazon S3. En esta sección se describen problemas que debe tener en cuenta al diseñar su aplicación.

Reintente en caso de recibir una respuesta de InternalErrors

Los errores internos son errores que se producen dentro del entorno de Amazon S3.

Es posible que las solicitudes que reciben una respuesta InternalError no se hayan procesado. Por ejemplo, si una solicitud PUT devuelve un error InternalError, una operación GET posterior puede recuperar el valor anterior o el valor actualizado.

Si Amazon S3 devuelve una respuesta de InternalError, repita la solicitud.

Ajustar la aplicación para errores SlowDown repetidos

Como en cualquier sistema distribuido, S3 tiene mecanismos de protección que detectan el consumo excesivo de recursos intencional o no intencional y reaccionan en consecuencia. Los errores de SlowDown se pueden producir cuando una velocidad de solicitud alta activa uno de estos mecanismos. La reducción de la velocidad de su solicitud disminuirá o eliminará errores de este tipo. En términos generales, la mayoría de los usuarios no experimentará estos errores de manera habitual. Sin embargo, si desea obtener más información o experimenta errores SlowDown repetidos o imprevistos, publique en nuestro foro para desarrolladores de Amazon S3 o regístrese en AWS Support en https://aws.amazon.com/premiumsupport/.

Aislar los errores

nota

La compatibilidad con SOAP por HTTP está obsoleta, pero SOAP aún se encuentra disponible con HTTPS. Las características nuevas de Amazon S3 no son compatibles con SOAP. En vez de usar SOAP, le recomendamos que utilice la API de REST o los SDK de AWS.

Amazon S3 proporciona un conjunto de códigos de error que se utilizan en la API de SOAP y en la de REST. La API de SOAP devuelve códigos de error estándares de Amazon S3. La API de REST está diseñada para tener el aspecto de un servidor HTTP estándar e interactuar con clientes HTTP existentes (p. ej., navegadores, bibliotecas de clientes HTTP, servidores proxy, cachés, etc.). Para asegurarnos de que los clientes HTTP controlen los errores correctamente, a cada error de Amazon S3 le asignamos un código de estado HTTP.

Los códigos de estado HTTP son menos costosos que los códigos de error de Amazon S3 e incluyen menos información sobre el error. Por ejemplo, los errores NoSuchKey y NoSuchBucket de Amazon S3 corresponden al código de estado HTTP 404 Not Found.

Si bien los códigos de estado HTTP contienen menos información sobre el error, los clientes que comprenden el HTTP pero no la API de Amazon S3, por lo general, pueden controlar los errores correctamente.

Por lo tanto, al momento de controlar errores o informar errores de Amazon S3 a los usuarios finales, utilice el código de error de Amazon S3 en lugar del código de estado HTTP, ya que contiene más información sobre el error. Además, al depurar su aplicación, también debe consultar el elemento legible <Details> de la respuesta de error de XML.