Establecimiento de la clase de almacenamiento de un objeto
Puede especificar una clase de almacenamiento para un objeto cuando lo carga. Si no lo hace, Amazon S3 utiliza la clase de almacenamiento predeterminada Amazon S3 Standard para objetos en buckets de uso general. También puede cambiar la clase de almacenamiento de un objeto que ya está almacenado en un bucket de uso general Amazon S3 a cualquier otra clase mediante la consola de Amazon S3, los SDK de AWS o la AWS Command Line Interface (AWS CLI). Todos estos enfoques utilizan las operaciones de la API de Amazon S3 para enviar solicitudes a Amazon S3.
nota
No puede cambiar la clase de almacenamiento de objetos almacenados en buckets de directorio.
Puede indicar a Amazon S3 que modifique la clase de almacenamiento de los objetos automáticamente añadiendo la configuración de S3 Lifecycle a un bucket. Para obtener más información, consulte Administración del ciclo de vida de los objetos.
Cuando establezca una configuración de Replicación de S3, puede especificar la clase de almacenamiento de los objetos replicados como cualquier otra clase de almacenamiento. Sin embargo, no puede replicar objetos que están almacenados en las clases S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive. Para obtener más información, consulte Elementos del archivo de configuración de la replicación.
Al configurar la clase de almacenamiento mediante programación, debe proporcionar el valor de la clase de almacenamiento. La siguiente es una lista de nombres de consola para las clases de almacenamiento con sus valores de API correspondientes:
Almacenamiento de redundancia reducida:
REDUCED_REDUNDANCY
S3 Express One Zone:
EXPRESS_ONEZONE
S3 Glacier Deep Archive:
DEEP_ARCHIVE
S3 Glacier Flexible Retrieval:
GLACIER
S3 Glacier Instant Retrieval:
GLACIER_IR
S3 Intelligent-Tiering:
INTELLIGENT_TIERING
S3 One Zone-IA:
ONEZONE_IA
S3 Standard:
STANDARD
S3 Standard-IA:
STANDARD_IA
Establecimiento de la clase de almacenamiento de un objeto nuevo
Para establecer la clase de almacenamiento al cargar un objeto, puede utilizar los métodos siguientes.
Para configurar la clase de almacenamiento al cargar un objeto nuevo en la consola:
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en: https://console.aws.amazon.com/s3/
. En el panel de navegación izquierdo, elija Buckets de uso general.
En la lista de buckets, elija el nombre del bucket en el que desea cargar las carpetas o los archivos.
Seleccione Cargar.
En la ventana Cargar, seleccione Propiedades.
En Clase de almacenamiento, elija una clase de almacenamiento para los archivos que esté cargando.
(Opcional) Configure las propiedades adicionales de los archivos que vaya a cargar. Para obtener más información, consulte Carga de objetos
En la ventana Cargar, realice una de las siguientes acciones:
Arrastre archivos y carpetas a la ventana Cargar.
Elija Agregar archivo o Agregar carpeta, elija los archivos o carpetas que desee cargar y Abrir.
En la parte inferior de la página, elija Cargar.
Puede especificar la clase de almacenamiento de un objeto al crearlo mediante las operaciones PutObject
, POST Object
y CreateMultipartUpload
de la API y agregar el encabezado de la solicitud x-amz-storage-class
. Si no se agrega este encabezado, Amazon S3 utiliza S3 Standard (STANDARD
), la clase de almacenamiento predeterminada.
Esta solicitud de ejemplo usa el comando PutObject
para establecer la clase de almacenamiento de un objeto nuevo en S3 Intelligent-Tiering:
PUT /my-image.jpg HTTP/1.1 Host:
.s3.
amzn-s3-demo-bucket1
Region
.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: authorization string Content-Type: image/jpeg Content-Length: 11434 Expect: 100-continue x-amz-storage-class: INTELLIGENT_TIERING
En este ejemplo, se usa el comando put-object
para cargar my_images.tar.bz2
para
en la clase de almacenamiento amzn-s3-demo-bucket1
:GLACIER
aws s3api put-object --bucket
--key
amzn-s3-demo-bucket1
dir-1/my_images.tar.bz2
--storage-classGLACIER
--bodymy_images.tar.bz2
Si el tamaño del objeto es superior a 5 GB, utilice el siguiente comando para establecer la clase de almacenamiento:
aws s3 cp
large_test_file
s3://
--storage-classamzn-s3-demo-bucket1
GLACIER
Cambio de la clase de almacenamiento de un objeto existente
Para establecer la clase de almacenamiento al cargar un objeto, puede utilizar los métodos siguientes.
Puede cambiar la clase de almacenamiento de un objeto mediante la consola de Amazon S3 si el tamaño del objeto es inferior a 5 GB. Si es mayor, se recomienda añadir la configuración del ciclo de vida de S3 para cambiar la clase de almacenamiento del objeto.
Para cambiar la clase de almacenamiento de un objeto en la consola:
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En el panel de navegación izquierdo, elija Buckets de uso general.
En la lista de buckets, elija el nombre del bucket que contiene los objetos que desea cambiar.
-
Seleccione la casilla de verificación situada a la izquierda de los nombres de los objetos que desea cambiar.
-
En el menú Acciones, elija Editar clase de almacenamiento en la lista de opciones que aparece.
-
Seleccione una de las clases de almacenamiento disponibles para su objeto.
-
En Configuración de copia adicional, elija si desea Copiar la configuración de origen, No especificar la configuración o Especificar la configuración. Copiar la configuración de origen es la opción predeterminada. Si solo desea copiar el objeto sin los atributos de configuración de origen, elija No especificar la configuración. Elija Especificar la configuración para especificar la configuración de la clase de almacenamiento, las ACL, las etiquetas de objetos, los metadatos, el cifrado del servidor y las sumas de comprobación adicionales.
-
En la esquina inferior derecha, elija Guardar cambios. Amazon S3 guarda los cambios.
Para cambiar la clase de almacenamiento de un objeto existente, utilice los métodos siguientes.
Este ejemplo de solicitud utiliza el comando PutObject
para establecer la clase de almacenamiento de un objeto existente en S3 Intelligent-Tiering:
PUT /my-image.jpg HTTP/1.1 Host:
.s3.
amzn-s3-demo-bucket1
Region
.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: authorization string Content-Type: image/jpeg Content-Length: 11434 Expect: 100-continue x-amz-storage-class: INTELLIGENT_TIERING
Este ejemplo utiliza el comando cp
para cambiar la clase de almacenamiento de un objeto existente de la clase de almacenamiento actual a la clase de almacenamiento
:DEEP_ARCHIVE
aws s3 cp
object_S3_URI
object_S3_URI
--storage-classDEEP_ARCHIVE
Restringir permisos de política de acceso a una clase de almacenamiento específica
Cuando concede permisos de política de acceso para operaciones de Amazon S3, puede usar la clave de condición s3:x-amz-storage-class
para restringir la clase de almacenamiento que se debe utilizar al almacenar objetos cargados. Por ejemplo, cuando concede el permiso de s3:PutObject
, puede restringir las cargas de objetos a una clase de almacenamiento específica. Para ver una política de ejemplo, consulte Ejemplo: restricción de cargas de objetos a objetos con una clase de almacenamiento específica.
Para obtener más información sobre el uso de condiciones en políticas y una lista completa de claves de condición de Amazon S3, consulte los temas siguientes:
-
Actions, resources, and condition keys for Amazon S3 en la Referencia de autorizaciones de servicio
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.
-
Ejemplos de políticas de bucket que utilizan claves de condición