

# Configurar a classe de armazenamento de um objeto
<a name="sc-howtoset"></a>

Você pode especificar uma classe de armazenamento para um objeto ao fazer upload dele. Se você não especificar, o Amazon S3 usará a classe de armazenamento padrão Amazon S3 Standard para objetos em buckets de uso geral. Também é possível alterar a classe de armazenamento de um objeto que já está armazenado em um bucket de uso geral do Amazon S3 para qualquer outra classe de armazenamento usando o console do Amazon S3, os AWS SDKs ou a AWS Command Line Interface (AWS CLI). Todas essas abordagens usam as operações de API do Amazon S3 para enviar solicitações ao Amazon S3.

**nota**  
Não é possível alterar a classe de armazenamento de objetos armazenados em buckets de diretório.

É possível direcionar o Amazon S3 para alterar a classe de armazenamento de objetos automaticamente adicionando a configuração do Ciclo de Vida do S3 a um bucket. Para obter mais informações, consulte [Gerenciar o ciclo de vida dos objetos](object-lifecycle-mgmt.md).

Ao definir uma configuração de Replicação do S3, é possível definir a classe de armazenamento para objetos replicados como qualquer outra classe de armazenamento. No entanto, não é possível replicar objetos que estão armazenados nas classes de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive. Para obter mais informações, consulte [Elementos do arquivo de configuração de replicação](replication-add-config.md).

Ao definir a classe de armazenamento programaticamente, você fornece o valor da classe de armazenamento. Veja a seguir uma lista de nomes de console para classes de armazenamento com seus valores de API correspondentes:
+ **Reduced Redundancy Storage**: `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`

## Configurar a classe de armazenamento em um novo objeto
<a name="setting-storage-class"></a>

Para definir a classe de armazenamento ao fazer upload de um objeto, você pode usar os métodos a seguir.

### Usar o console do S3
<a name="setting-storage-class-console"></a>

Para definir a classe de armazenamento ao fazer o upload de um novo objeto no console:

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em: [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com//s3).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Na lista de buckets, escolha o nome do bucket no qual você deseja fazer upload de pastas ou arquivos.

1. Escolha **Upload (Fazer upload)**.

1. Na janela **Fazer upload**, escolha **Propriedades**.

1. Na seção Classe de armazenamento, escolha uma classe de armazenamento para os arquivos que você está carregando.

1. (Opcional) Configure as propriedades adicionais para os arquivos que você está carregando. Consulte mais informações em [Fazer upload de objetos](upload-objects.md).

1. Na janela Upload (Fazer upload), siga um destes procedimentos:
   + Arraste arquivos e pastas para a janela Fazer upload. 
   + Escolha **Adicionar arquivo** ou **Adicionar pasta**, escolha arquivos ou pastas para fazer upload e depois escolha **Abrir**.

1. Na parte inferior da página, escolha **Fazer upload**.

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

É possível especificar a classe de armazenamento em um objeto ao criá-lo usando as operações de API `PutObject`, `POST Object` e `CreateMultipartUpload` e adicionar o cabeçalho da solicitação `x-amz-storage-class`. Se esse cabeçalho não for adicionado, o Amazon S3 usará a classe de armazenamento padrão, S3 Standard (`STANDARD`).

Esse exemplo de solicitação usa o comando `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)` para definir a classe de armazenamento em um novo objeto para 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
```

### Como usar o AWS CLI
<a name="setting-storage-class-rest"></a>

Esse exemplo usa o comando `put-object` para fazer upload de *my\$1images.tar.bz2* em **amzn-s3-demo-bucket1** na classe de armazenamento `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
```

Se o objeto tiver mais de 5 GB, use o seguinte comando para definir a classe de armazenamento:

```
aws s3 cp large_test_file s3://amzn-s3-demo-bucket1 --storage-class GLACIER
```

## Alterar a classe de armazenamento de um objeto existente
<a name="changing-storage-class"></a>

Para definir a classe de armazenamento ao fazer upload de um objeto, você pode usar os métodos a seguir.

### Usar o console do S3
<a name="changing-storage-class-console"></a>

É possível alterar a classe de armazenamento de um objeto usando o console do Amazon S3 quando o objeto tem menos de 5 GB. Se for maior, recomendamos adicionar a configuração do ciclo de vida do S3 para alterar a classe de armazenamento do objeto.

Para alterar a classe de armazenamento de um objeto no console:

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1.  Na lista de buckets, escolha o nome do bucket que contém os objetos que você deseja alterar.

1. Marque a caixa de seleção à esquerda dos nomes dos objetos que você quer alterar.

1. No menu **Ações**, escolha **Editar classe de armazenamento** na lista de opções exibida.

1. Escolha entre as classes de armazenamento disponíveis para o objeto.

1. Em **Configurações adicionais de cópia**, escolha se você quer **Copiar configurações de origem**, **Não especificar configurações** ou **Especificar configurações**. **Copiar configurações de origem** é a opção padrão. Se você quiser copiar o objeto somente sem os atributos das configurações de origem, escolha **Não especificar configurações**. Escolha **Especificar configurações** para especificar configurações referentes a classes de armazenamento, ACLs, tags de objeto, metadados, criptografia do lado do servidor e somas de verificação adicionais.

1. Escolha **Salvar alterações** no canto inferior direito. O Amazon S3 salva suas alterações.

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

Para alterar a classe de armazenamento de um objeto existente, use os métodos a seguir.

Esse exemplo de solicitação usa o comando `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)` para definir a classe de armazenamento em um objeto existente como 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
```

### Como usar o AWS CLI
<a name="setting-storage-class-rest"></a>

Esse exemplo usa o comando `cp` para alterar a classe de armazenamento de um objeto existente da classe atual para a classe de armazenamento `DEEP_ARCHIVE `:

```
aws s3 cp object_S3_URI object_S3_URI --storage-class DEEP_ARCHIVE
```

## Restrição de permissões de política de acesso a uma classe de armazenamento específica
<a name="restricting-storage-class"></a>

Ao conceder permissões de política de acesso para operações do Amazon S3, é possível usar a chave de condição `s3:x-amz-storage-class` para restringir qual classe de armazenamento a ser usada ao armazenar objetos obtidos por upload. Por exemplo, ao conceder a permissão `s3:PutObject`, você pode restringir uploads de objetos a uma classe de armazenamento específica. Para visualizar um exemplo de política, consulte [Exemplo: restringir uploads aos objetos com uma classe de armazenamento específica](security_iam_service-with-iam.md#example-storage-class-condition-key). 

Para obter mais informações sobre como usar condições em políticas e uma lista completa de chaves de condição do Amazon S3, consulte os seguintes tópicos:
+ [Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) na *Referência de autorização do serviço*

  Para ter mais informações sobre as permissões referentes a operações de API do S3 de acordo com os tipos de recurso do S3, consulte [Permissões obrigatórias para operações de API do Amazon S3](using-with-s3-policy-actions.md).
+ [Exemplos de políticas de bucket usando chaves de condição](amazon-s3-policy-keys.md)