Fazer upload de objetos
Quando você faz upload de um arquivo no Amazon S3, ele é armazenado como um objeto do S3. Os objetos consistem em dados e metadados de arquivo que descrevem o objeto. Você pode ter um número ilimitado de objetos em um bucket. Antes de fazer upload de arquivos em um bucket do Amazon S3, você precisa escrever permissões para o bucket. Para obter mais informações sobre permissões de acesso, consulte Gerenciamento de identidade e acesso para o Amazon S3.
Você pode fazer upload de qualquer tipo de arquivo (imagens, backups, dados, filmes etc.) para um bucket do S3. O tamanho máximo de arquivo que você pode carregar usando o console do Amazon S3 é de 160 GB. Para fazer upload de um arquivo com mais de 160 GB, use a AWS Command Line Interface (AWS CLI), AWS SDKs ou a API REST do Amazon S3.
Se você fizer upload de um objeto com um nome de chave que já existe em um bucket com versionamento habilitado, o Amazon S3 criará outra versão de objeto em vez de substituir o objeto existente. Para ter mais informações sobre como habilitar o versionamento, consulte Habilitar o versionamento em buckets.
Dependendo do tamanho de dados enviados por upload, o Amazon S3 oferece as seguintes opções:
-
Fazer upload de um objeto em uma única operação usando AWS SDKs, a API REST ou a AWS CLI: com uma única operação
PUT
, você pode fazer upload de um único objeto com até 5 GB. -
Fazer upload de um único objeto usando o console do Amazon S3: com o console do Amazon S3, é possível fazer upload de um único objeto com até 160 GB de tamanho.
-
Fazer upload de um objeto em partes usando AWS SDKs, a API REST ou a AWS CLI: com a operação de API de upload de várias partes, é possível fazer upload de um único objeto grande, com até 5 TB.
A operação de API de upload de várias partes foi projetada para melhorar a experiência de upload de objetos maiores. É possível fazer upload de um objeto em partes. O upload dessas partes de objetos pode ser feito independentemente, em qualquer ordem, e em paralelo. Você pode usar um multipart upload de objetos de 5 MB a 5 TB. Para ter mais informações, consulte Carregar e copiar objetos usando multipart upload.
Quando você faz upload de um objeto, ele é automaticamente criptografado usando criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) por padrão. Quando você faz download, o objeto é descriptografado. Para ter mais informações, consulte Definir o comportamento padrão da criptografia para os buckets do Amazon S3 e Proteger dados com criptografia.
Ao fazer upload de um objeto, se quiser usar um tipo diferente de criptografia padrão, você também pode especificar a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) nas solicitações PUT
do S3 ou definir a configuração de criptografia padrão no bucket de destino para usar o SSE-KMS para criptografar os dados. Para obter mais informações sobre SSE-KMS, consulte Especificando criptografia no lado do servidor com o AWS KMS (SSE-KMS). Se quiser usar uma chave do KMS que seja de propriedade de outra conta, você deverá ter permissão para usar a chave. Para obter mais informações sobre permissões entre contas para chaves do KMS, consulte Criar chaves do KMS que outras contas podem usar no Guia do desenvolvedor do AWS Key Management Service.
Se você encontrar um erro de Acesso negado (403 Proibido) no Amazon S3, consulte Solucionar erros de acesso negado (403 Forbidden) no Amazon S3 para saber mais sobre as causas comuns.
Fazer upload de um objeto
Este procedimento explica como fazer upload de objetos e pastas para um bucket do Amazon S3 usando o console.
Quando você faz upload de um objeto, o nome da chave de objeto é o nome do arquivo e quaisquer prefixos opcionais. No console do Amazon S3, você pode criar pastas para organizar seus objetos. No Amazon S3, as pastas são representadas como prefixos que aparecem no nome da chave de objeto. Se você fizer upload um objeto individual para uma pasta no console do Amazon S3, o nome da pasta será incluído no nome da chave do objeto.
Por exemplo, se você carregar um objeto chamado sample1.jpg
para uma pasta chamada backup
, o nome da chave será backup/sample1.jpg
. Contudo, o objeto é exibido no console como sample1.jpg
na pasta backup
. Para obter mais informações sobre nomes de chave, consulte Trabalhar com metadados de objeto.
nota
Se você renomear um objeto ou alterar qualquer uma das propriedades no console do Amazon S3, por exemplo Classe de armazenamento, Criptografia ou Metadados, será criado outro objeto para substituir o antigo. Se o versionamento do S3 estiver habilitado, uma nova versão do objeto será criada e o objeto existente se tornará uma versão mais antiga. O perfil que altera a propriedade também se torna o proprietário do novo objeto (ou versão do objeto).
Quando você faz upload de uma pasta, o Amazon S3 faz upload de todos os arquivos e subpastas da pasta especificada em seu bucket. Ele então atribui um nome de chave de objeto que é uma combinação do nome de arquivo carregado com o nome da pasta. Por exemplo, se você fizer upload de uma pasta chamada /images
que contém dois arquivos, sample1.jpg
e sample2.jpg
, o Amazon S3 fará upload dos arquivos e atribuirá a eles os nomes de chave correspondentes, images/sample1.jpg
e images/sample2.jpg
. Os nomes de chave incluem o nome da pasta como um prefixo. O console do Amazon S3 exibe somente a parte do nome de chave que vem depois da última /
. Por exemplo, em uma pasta images
, os objetos images/sample1.jpg
e images/sample2.jpg
são exibidos como sample1.jpg
e sample2.jpg
.
Para fazer upload de pastas e arquivos para um bucket do S3
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.
-
Na lista Buckets, escolha o nome do bucket no qual você deseja carregar suas pastas ou arquivos.
-
Escolha Upload (Fazer upload).
-
Na janela Upload (Fazer upload), siga um destes procedimentos:
-
Arraste e solte arquivos e pastas para a janela Upload (Fazer upload) .
-
Escolha Adicionar arquivo ou Adicionar pasta, escolha arquivos ou pastas para fazer upload e depois escolha Abrir.
-
-
Para habilitar o versionamento, em Destination (Destino), escolha Enable Bucket Versioning (Ativar versionamento de bucket).
-
Para fazer upload dos arquivos e pastas listados sem configurar opções de upload adicionais, na parte inferior da página, escolha Upload (Fazer upload).
O Amazon S3 faz o upload de seus objetos e pastas. Quando o upload for concluído, você verá uma mensagem de sucesso na página Upload: status.
Para configurar propriedades de objeto adicionais
-
Para alterar as permissões da lista de controle de acesso, escolha Permissions (Permissões).
-
Em Access control list (ACL) (Lista de controle de acesso (ACL)), edite as permissões.
Para informações sobre permissões de acesso a objeto, consulte Usar o console do S3 para definir permissões de ACL para um objeto. Você pode conceder acesso de leitura aos seus objetos ao público (todos no mundo), para todos os arquivos que você está carregando. No entanto, recomendamos não alterar a configuração padrão para acesso de leitura público. Conceder acesso público de leitura é aplicável a um pequeno subconjunto de casos de uso, como quando buckets são usados para sites. Você sempre pode alterar as permissões de objeto depois de carregar o objeto.
-
Para configurar outras propriedades, escolha Properties (Propriedades).
-
Na seção Classe de armazenamento escolha a classe de armazenamento para os arquivos que você está carregando.
Para obter mais informações sobre classes de armazenamento, consulte Compreender e gerenciar classes de armazenamento do Amazon S3.
-
Para atualizar as configurações de criptografia para seus objetos, em Server-side encryption settings (Configurações de criptografia do lado do servidor), faça o seguinte.
-
Escolha Specify an encryption key (Especificar uma chave de criptografia).
Em Configurações de criptografia, escolha Usar configurações de bucket para criptografia padrão ou Substituir configurações de bucket para criptografia padrão.
-
Se você escolher Substituir configurações do bucket para criptografia padrão, deverá definir as configurações de criptografia a seguir.
Para criptografar os arquivos carregados usando chaves gerenciadas pelo Amazon S3, escolha Chave gerenciada pelo Amazon S3 (SSE-S3).
Para ter mais informações, consulte Usar a criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3).
-
Para criptografar os arquivos carregados usando chaves armazenadas no AWS Key Management Service (AWS KMS), selecione Chave do AWS Key Management Service (SSE-KMS). Depois, escolha uma das seguintes opções para a chave do AWS KMS:
-
Para escolher entre uma lista de chaves do KMS disponíveis, selecione Escolher de sua AWS KMS keys e escolha a chave do KMS na lista de chaves disponíveis.
As chaves Chave gerenciada pela AWS (
aws/s3
) e as chaves gerenciadas pelo cliente são exibidas nessa lista. Para ter mais informações sobre chaves gerenciadas pelo cliente, consulte Chaves de clientes e chaves da AWS no Guia do desenvolvedor do AWS Key Management Service. -
Para inserir o ARN da chave do KMS, selecione Inserir ARN da AWS KMS key e insira o ARN da chave do KMS no campo exibido.
-
Para criar uma chave gerenciada pelo cliente no console do AWS KMS, selecione Criar uma chave do KMS.
Para ter mais informações sobre como criar uma AWS KMS key, consulte Criação de chaves no Guia do desenvolvedor do AWS Key Management Service.
Importante
Você só pode usar chaves do KMS disponíveis na mesma Região da AWS que o bucket. O console do Amazon S3 lista somente as primeiras 100 chaves do KMS na mesma região que o bucket. Para usar uma chave do KMS que não esteja listada, você deve inserir o ARN da chave do KMS. Se quiser usar uma chave do KMS que seja de propriedade de outra conta, primeiro você deverá ter permissão para usar a chave e, depois, inserir o ARN da chave do KMS.
O Amazon S3 só é compatível com chaves do KMS de criptografia simétrica, e não com chaves assimétricas do KMS. Para ter mais informações, consulte Identificar chaves do KMS simétricas e assimétricas no Guia do desenvolvedor do AWS Key Management Service.
-
-
-
Para usar somas de verificação adicionais, escolha On (Ativar). Em seguida, em Checksum function (Função de soma de verificação), escolha a função que você gostaria de usar. O Amazon S3 calcula e armazena o valor da soma de verificação depois de receber o objeto inteiro. Você pode usar a caixa Precalculated value (Valor pré-calculado) para fornecer esse valor. Se fizer isso, o Amazon S3 vai comparar o valor que você forneceu com o valor calculado. Se os dois valores não corresponderem, o Amazon S3 gerará um erro.
As somas de verificação adicionais permitem que você especifique o algoritmo de soma de verificação que gostaria de usar para verificar seus dados. Para obter mais informações sobre somas de verificação adicionais, consulte Verificar a integridade do objeto.
-
Para adicionar tags a todos os objetos que você está carregando, escolha Add tag (Adicionar tag). Insira um nome de tag no campo Chave. Insira um valor para a tag.
A marcação de objetos é uma forma de categorizar o armazenamento. Cada tag é um par de chave-valor. Os valores de chave e tag diferenciam maiúsculas de minúsculas. É possível ter até dez tags por objeto. Uma chave de tag pode ter até 128 caracteres Unicode e os valores de tag podem ter até 255 caracteres Unicode. Para obter mais informações sobre tags de objeto, consulte Categorizar seu armazenamento usando tags.
-
Para adicionar metadados, escolha Add metadata (Adicionar metadados).
-
Em Type (Tipo), escolha System defined (Definido pelo sistema) ou User defined (Definido pelo usuário).
Para metadados definidos pelo sistema, você pode selecionar cabeçalhos HTTP comuns, como Content-Type e Content-Disposition. Para obter uma lista de metadados definidos pelo sistema e informações sobre a possibilidade de adicionar o valor, consulte Metadados do objeto definidos pelo sistema. Todos os metadados que começam com o prefixo
x-amz-meta-
são tratados como metadados definidos pelo usuário. Os metadados definidos pelo usuário são armazenados com o objeto e retornados quando você baixa o objeto. As chaves e seus valores devem estar em conformidade com os padrões US-ASCII. Metadados definidos pelo usuário podem ter até 2 KB. Para obter mais informações sobre metadados definidos pelo sistema e pelo usuário, consulte Trabalhar com metadados de objeto. -
Para Key (Chave), escolha uma chave.
-
Digite um valor para a chave.
-
-
Para carregar seus objetos, escolha Upload (Fazer upload).
O Amazon S3 faz o upload do objeto. Quando o upload for concluído, você pode ver uma mensagem de sucesso na página de Upload: status.
-
Selecione Exit (Sair).
Você pode enviar uma solicitação PUT
para fazer upload de um objeto de até 5 GB em uma única operação. Para obter mais informações, consulte o exemplo de PutObject
na Referência de comandos da AWS CLI.
Você pode enviar solicitações REST para fazer upload de um objeto. Você pode enviar uma solicitação PUT
para carregar dados em uma única operação. Para obter mais informações, consulte Objeto PUT.
Você pode usar os AWS SDKs para fazer upload de objetos no Amazon S3. Os SDKs fornecem bibliotecas wrapper para você para fazer upload de dados com facilidade. Para obter informações, consulte a Lista de SDKs compatíveis.
Aqui estão alguns exemplos com alguns SDKs selecionados:
Impedir o upload de objetos com nomes de chave idênticos
É possível conferir a existência de um objeto no bucket antes de criá-lo usando uma gravação condicional nas operações de upload. Isso pode evitar a substituição de dados existentes. As gravações condicionais confirmarão que não há nenhum objeto com o mesmo nome de chave no bucket durante o upload.
É possível usar gravações condicionais para solicitações PutObject ou CompleteMultipartUpload.
Para ter mais informações sobre solicitações condicionais, consulte Adicionar condições prévias às operações do S3 com solicitações condicionais.