Configurar a classe de armazenamento de um objeto - Amazon Simple Storage Service

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:

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em: https://console.aws.amazon.com/s3/.

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

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

  4. Escolha Upload (Fazer upload).

  5. Na janela Fazer upload, escolha Propriedades.

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

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

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

  9. 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: 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

Esse exemplo usa o comando put-object para fazer upload de my_images.tar.bz2 para 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

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:

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

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

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

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

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

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

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

  8. 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: 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

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

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: