Configurar a classe de armazenamento de um objeto
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.
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.
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
Para definir a classe de armazenamento ao fazer upload de um objeto, você pode usar os métodos a seguir.
Para definir a classe de armazenamento ao fazer o upload de um novo objeto no console:
Faça login no AWS Management Console e abra o console do Amazon S3 em: https://console.aws.amazon.com/s3/
. No painel de navegação à esquerda, escolha Buckets de uso geral.
Na lista de buckets, escolha o nome do bucket no qual você deseja fazer upload de pastas ou arquivos.
Escolha Upload (Fazer upload).
Na janela Fazer upload, escolha Propriedades.
Na seção Classe de armazenamento, escolha uma classe de armazenamento para os arquivos que você está carregando.
(Opcional) Configure as propriedades adicionais para os arquivos que você está carregando. Consulte mais informações em Fazer upload de objetos.
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.
Na parte inferior da página, escolha Fazer upload.
É 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
para definir a classe de armazenamento em um novo objeto para 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
Esse exemplo usa o comando put-object
para fazer upload de my_images.tar.bz2
para
na classe de armazenamento 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
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://
--storage-classamzn-s3-demo-bucket1
GLACIER
Alterar a classe de armazenamento de um objeto existente
Para definir a classe de armazenamento ao fazer upload de um objeto, você pode usar os métodos a seguir.
É 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:
Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
No painel de navegação à esquerda, escolha Buckets de uso geral.
Na lista de buckets, escolha o nome do bucket que contém os objetos que você deseja alterar.
-
Marque a caixa de seleção à esquerda dos nomes dos objetos que você quer alterar.
-
No menu Ações, escolha Editar classe de armazenamento na lista de opções exibida.
-
Escolha entre as classes de armazenamento disponíveis para o objeto.
-
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.
-
Escolha Salvar alterações no canto inferior direito. O Amazon S3 salva suas alterações.
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
para definir a classe de armazenamento em um objeto existente como 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
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-classDEEP_ARCHIVE
Restrição de permissões de política de acesso a uma classe de armazenamento específica
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.
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 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.