

# Establecimiento de la clase de almacenamiento de un objeto
<a name="sc-howtoset"></a>

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](object-lifecycle-mgmt.md).

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](replication-add-config.md).

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
<a name="setting-storage-class"></a>

Para establecer la clase de almacenamiento al cargar un objeto, puede utilizar los métodos siguientes.

### Uso de la consola de S3
<a name="setting-storage-class-console"></a>

Para configurar la clase de almacenamiento al cargar un objeto nuevo en la consola:

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en: [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com//s3).

1. En el panel de navegación izquierdo, elija **Buckets de uso general**.

1. En la lista de buckets, elija el nombre del bucket en el que desea cargar las carpetas o los archivos.

1. Seleccione **Cargar**.

1. En la ventana **Cargar**, seleccione **Propiedades**.

1. En Clase de almacenamiento, elija una clase de almacenamiento para los archivos que esté cargando.

1. (Opcional) Configure las propiedades adicionales de los archivos que vaya a cargar. Para obtener más información, consulte [Carga de objetos](upload-objects.md)

1. 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**.

1. En la parte inferior de la página, elija **Cargar**.

### Uso de la API de REST
<a name="setting-storage-class-rest"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)` para establecer la clase de almacenamiento de un objeto nuevo en S3 Intelligent-Tiering:

```
PUT /my-image.jpg HTTP/1.1
Host: amzn-s3-demo-bucket1.s3.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
```

### Uso de AWS CLI
<a name="setting-storage-class-rest"></a>

En este ejemplo, se usa el comando `put-object` para cargar *my\$1images.tar.bz2* para **amzn-s3-demo-bucket1** en la clase de almacenamiento `GLACIER `:

```
aws s3api put-object --bucket amzn-s3-demo-bucket1 --key dir-1/my_images.tar.bz2 --storage-class GLACIER --body my_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://amzn-s3-demo-bucket1 --storage-class GLACIER
```

## Cambio de la clase de almacenamiento de un objeto existente
<a name="changing-storage-class"></a>

Para establecer la clase de almacenamiento al cargar un objeto, puede utilizar los métodos siguientes.

### Uso de la consola de S3
<a name="changing-storage-class-console"></a>

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:

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets de uso general**.

1.  En la lista de buckets, elija el nombre del bucket que contiene los objetos que desea cambiar.

1. Seleccione la casilla de verificación situada a la izquierda de los nombres de los objetos que desea cambiar.

1. En el menú **Acciones**, elija **Editar clase de almacenamiento** en la lista de opciones que aparece.

1. Seleccione una de las clases de almacenamiento disponibles para su objeto.

1. 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.

1. En la esquina inferior derecha, elija **Guardar cambios**. Amazon S3 guarda los cambios.

### Uso de la API de REST
<a name="changing-storage-class-rest"></a>

Para cambiar la clase de almacenamiento de un objeto existente, utilice los métodos siguientes.

Este ejemplo de solicitud utiliza el comando `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)` para establecer la clase de almacenamiento de un objeto existente en S3 Intelligent-Tiering:

```
PUT /my-image.jpg HTTP/1.1
Host: amzn-s3-demo-bucket1.s3.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
```

### Uso de AWS CLI
<a name="setting-storage-class-rest"></a>

En este ejemplo se 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-class DEEP_ARCHIVE
```

## Restringir permisos de política de acceso a una clase de almacenamiento específica
<a name="restricting-storage-class"></a>

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](security_iam_service-with-iam.md#example-storage-class-condition-key). 

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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) 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](using-with-s3-policy-actions.md).
+ [Ejemplos de políticas de bucket que utilizan claves de condición](amazon-s3-policy-keys.md)