¿Qué es Amazon S3?
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes del sector. Los clientes de todos los tamaños y sectores pueden utilizar Amazon S3 para almacenar y proteger cualquier cantidad de datos para diversos casos de uso, tales como lagos de datos, sitios web, aplicaciones móviles, copia de seguridad y restauración, archivado, aplicaciones empresariales, dispositivos IoT y análisis de big data. Amazon S3 proporciona funciones de gestión para que pueda optimizar, organizar y configurar el acceso a sus datos para satisfacer sus requisitos empresariales, organizativos y de conformidad específicos.
Esta guía proporciona información centrada en los desarrolladores sobre el uso de la API de REST de Amazon S3 para crear aplicaciones que almacenen y recuperen datos en la nube.
Puede utilizar cualquier conjunto de herramientas que admita HTTP para utilizar la API REST. Incluso puede utilizar un navegador para recuperar objetos, siempre y cuando se puedan leer de forma anónima.
La API REST utiliza códigos de estado y encabezados HTTP estándar, para que los conjuntos de herramientas y los navegadores estándar funcionen según lo previsto. En algunas áreas, hemos añadido una funcionalidad al HTTP (por ejemplo, añadimos encabezados para admitir el control de acceso). En estos casos, hicimos todo lo posible para añadir la nueva funcionalidad de manera que coincida con el estilo del uso de HTTP estándar.
nota
La compatibilidad con SOAP por HTTP está obsoleta, pero aún se encuentra disponible con HTTPS. Sin embargo, las nuevas características de Amazon S3 no serán compatibles con SOAP. Recomendamos que utilice la API de REST o los AWS SDK en el siguiente enlace:
Esta guía para desarrolladores incluye:
importante
Lea lo siguiente sobre la autenticación y el control de acceso antes de pasar a temas específicos de la API.
Las solicitudes a Amazon S3 se pueden autenticar o pueden ser anónimas. El acceso autenticado requiere credenciales que AWS puede utilizar para autenticar las solicitudes.
Recomendaciones de llamada a la API
La realización de llamadas a la API de REST directamente desde el código puede ser complicada. Debe escribir el código necesario para calcular una firma válida para autenticar las solicitudes. En su lugar, recomendamos las siguientes alternativas:
-
Utilice los AWS SDK
para enviar las solicitudes. Además, consulte el código y las bibliotecas de ejemplo
. Si utiliza los SDK, no necesita escribir código para calcular una firma para la autenticación de las solicitudes, ya que los clientes del SDK autentican las solicitudes mediante las claves de acceso que usted proporciona. A menos que tenga una buena razón para no hacerlo, debería usar siempre los AWS SDK.
-
Utilice la CLI de AWS para realizar llamadas a la API de Amazon S3. Para obtener información acerca de cómo configurar la CLI de AWS y ejemplos de comandos de Amazon S3, consulte los siguientes temas:
Configure la CLI de AWS en la Guía del usuario de Amazon Simple Storage Service.
Uso de Amazon S3 con la CLI de AWS el la Guía del usuario de AWS Command Line Interface.
Realización de llamadas a la API de REST directas
nota
El encabezado de las solicitudes PUT está limitado a un tamaño de 8 KB. En el encabezado de la solicitud PUT, los metadatos definidos por el sistema están limitados a un tamaño de 2 KB. El tamaño de los metadatos definidos por el sistema se mide con la suma del número de bytes de la codificación US-ASCII en cada clave y valor.
Si desea realizar sus propias llamadas a la API de REST en lugar de utilizar una de las alternativas anteriores, debe tener en cuenta algunos aspectos.
Para realizar llamadas directas a la API de REST desde el código, cree una firma con credenciales válidas e inclúyala en la solicitud. Para obtener información sobre varios métodos de autenticación y cálculos de firma, consulte Autenticación de solicitudes (AWS Signature Version 4).
La API de REST utiliza códigos de estado y encabezados HTTP estándar, por lo que los conjuntos de herramientas y los navegadores estándar funcionan según lo previsto. En algunas áreas, hemos añadido una funcionalidad al HTTP (por ejemplo: añadimos encabezados para admitir el control de acceso). En estos casos, hicimos todo lo posible para añadir la nueva funcionalidad de manera que coincida con el estilo del uso de HTTP estándar. Para obtener más información acerca de la realización de solicitudes, consulte Realizar solicitudes.
Permisos
Puede tener credenciales válidas para autenticar las solicitudes, pero a menos que tenga permisos de S3 del propietario de la cuenta o del propietario del bucket no puede crear ni acceder a recursos de Amazon S3. Por lo general, estos permisos se conceden mediante una política de AWS Identity and Access Management (IAM), como una política de bucket. Por ejemplo, debe tener permisos para crear un bucket de S3 u obtener un objeto de un bucket. Para obtener una lista de permisos de S3, consulte Acciones, recursos y claves de condición de Amazon S3.
Para obtener más información sobre los permisos para las operaciones de la API de S3 por tipos de recursos de S3, consulte Permisos necesarios para las operaciones de la API de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
Si utiliza las credenciales de usuario raíz de la Cuenta de AWS, tiene todos los permisos. Sin embargo, no se recomienda el uso de las credenciales del usuario raíz. En su lugar, recomendamos que se creen roles de AWS Identity and Access Management (IAM) en la cuenta y se administren los permisos de usuario. Para obtener más información, consulte Administración de acceso en la Guía del usuario de Amazon Simple Storage Service.