Baixar objetos
Esta seção explica como baixar objetos de um bucket do Amazon S3. Com o Amazon S3, é possível armazenar objetos em um ou mais buckets e cada objeto pode ter até 5 TB de tamanho. Qualquer objeto do Amazon S3 que não esteja arquivado pode ser acessado em tempo real. Os objetos arquivados, no entanto, devem ser restaurados antes de serem baixados. Para obter informações sobre como baixar objetos arquivados, consulte Baixar objetos arquivados.
É possível baixar um único objeto usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), AWS SDKs ou a API REST do Amazon S3. Para baixar um objeto do S3 sem escrever nenhum código ou executar nenhum comando, use o console do S3. Para ter mais informações, consulte Fazer download de um objeto.
Para baixar vários objetos, use o AWS CloudShell, a AWS CLI ou os AWS SDKs. Para ter mais informações, consulte Baixar vários objetos.
Se precisar baixar parte de um objeto, use parâmetros extras com a AWS CLI ou a API REST para especificar somente os bytes que você deseja baixar. Para ter mais informações, consulte Baixar parte de um objeto.
Se você precisar baixar um objeto que não seja seu, peça ao proprietário do objeto para gerar um URL pré-assinado que permita baixá-lo. Para ter mais informações, consulte Baixar um objeto de outra Conta da AWS.
Quando você baixa objetos fora da rede da AWS, aplicam-se taxas de transferência de dados. A transferência de dados dentro da rede da AWS é gratuita dentro da mesma Região da AWS, mas haverá cobrança por qualquer solicitação GET
. Para obter mais informações sobre custos de transferência de dados e cobranças de recuperação de dados, consulte Preços do Amazon S3
Tópicos
Fazer download de um objeto
É possível baixar um objeto usando o console do Amazon S3, a AWS CLI, AWS SDKs ou a API REST.
Esta seção explica como usar o console do Amazon S3 para fazer baixar um objeto de um bucket do S3.
nota
-
Só é possível baixar um objeto por vez.
-
Se você usar o console do Amazon S3 para baixar um objeto cujo nome da chave termine com um ponto (
.
), o ponto será removido do nome da chave do objeto baixado. Para reter o ponto no final do nome do objeto baixado, você deve usar a AWS Command Line Interface (AWS CLI), AWS SDKs ou a API REST do Amazon S3.
Fazer download de um objeto de 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/
. -
Na lista Buckets, escolha o nome do bucket do qual você deseja fazer download de um objeto.
-
Você pode baixar um objeto de um bucket do S3 de uma das seguintes formas:
-
Marque a caixa de seleção ao lado do objeto e escolha Fazer download. Se você quiser baixar o objeto em uma pasta específica, no menu Ações, escolha Fazer download como.
-
Se você quiser baixar uma versão específica do objeto, ative Mostrar versões (ao lado da caixa de pesquisa). Marque a caixa de seleção ao lado da versão do objeto que você deseja e escolha Fazer Download. Se você quiser baixar o objeto em uma pasta específica, no menu Ações, escolha Fazer download como.
-
O exemplo de get-object
a seguir mostra como você pode usar a AWS CLI para baixar um objeto do Amazon S3. Esse comando obtém o objeto
do bucket folder/my_image
. O objeto será baixado em um arquivo chamado amzn-s3-demo-bucket1
.my_downloaded_image
aws s3api get-object --bucket
--key
amzn-s3-demo-bucket1
folder/my_image
my_downloaded_image
Para obter mais informações e exemplos, consulte get-object
Consulte exemplos de como baixar um objeto com os SDKs da AWS em Code examples na Referência de API do Amazon S3.
Consulte informações gerais sobre como usar diferentes SDKs da AWS em Developing with Amazon S3 using the AWS SDKs na Referência de API do Amazon S3.
É possível usar a API REST para recuperar objetos do Amazon S3. Para obter mais informações, consulte GetObject na Referência da API do Amazon Simple Storage Service.
Baixar vários objetos
Você pode baixar vários objetos usando o AWS CloudShell, a AWS CLI ou os AWS SDKs.
O AWS CloudShell é um shell pré-autenticado baseado em navegador que você pode iniciar diretamente do AWS Management Console.
Para obter mais informações sobre o AWS CloudShell, consulte O que é o CloudShell? no Guia do usuário do AWS CloudShell.
Importante
Com o AWS CloudShell, o diretório inicial tem armazenamento de até 1 GB por Região da AWS. Portanto, você não pode sincronizar buckets com objetos cujo total ultrapasse esse valor. Para consultar mais limitações, acesse Cotas e restrições de serviço no Guia do usuário do AWS CloudShell.
Para baixar objetos usando o AWS CloudShell
-
Faça login no AWS Management Console e abra o console do CloudShell em https://console.aws.amazon.com/cloudshell/
. -
Os comandos a seguir são executados para sincronizar objetos no bucket com o CloudShell. O comando a seguir sincroniza objetos do bucket chamado
e cria uma pasta chamadaamzn-s3-demo-bucket1
no CloudShell. O CloudShell sincroniza os objetos com essa pasta. Para usar esse comando, substituatemp
por suas informações.user input placeholders
aws s3 sync s3://
amzn-s3-demo-bucket1
./temp
nota
Para realizar a correspondência de padrões e excluir ou incluir objetos específicos, você pode usar os parâmetros
--exclude "
evalue
"--include "
com o comandovalue
"sync
. -
Execute o comando a seguir para compactar objetos na pasta chamada
para um arquivo chamadotemp
.temp.zip
zip
temp.zip
-rtemp
/ -
Escolha Ações e Baixar arquivo.
-
Insira um nome para o arquivo
e escolha Baixar.temp.zip
-
(Opcional) Exclua o arquivo
e os objetos que estão sincronizados com a pastatemp.zip
no CloudShell. Com o AWS CloudShell, você tem armazenamento persistente de até 1 GB para cada Região da AWS.temp
Você pode usar os exemplos de comandos a seguir para excluir o arquivo
.zip
e a pasta. Para usar esse exemplo de comando, substitua os
por suas próprias informações.user input placeholders
rm
temp.zip
&& rm -rftemp
/
Os exemplos a seguir mostram como você pode usar a AWS CLI para baixar todos os arquivos ou objetos no diretório ou prefixo especificado. Esse comando copia todos os objetos do bucket
para o diretório atual. Para usar esse exemplo de comando, use o nome do seu bucket no lugar de amzn-s3-demo-bucket1
. amzn-s3-demo-bucket1
aws s3 cp s3://
amzn-s3-demo-bucket1
. --recursive
O comando a seguir baixa todos os objetos com o prefixo
no bucket logs
para o diretório atual. Ele também usa os parâmetros amzn-s3-demo-bucket1
--exclude
e --include
para copiar somente objetos com o sufixo
. Para usar esse exemplo de comando, substitua os .log
por suas próprias informações.user input placeholders
aws s3 cp s3://
amzn-s3-demo-bucket1
/logs
/ . --recursive --exclude "*
" --include "*.log
"
Para obter mais informações e exemplos, consulte cp
Consulte exemplos de como baixar todos os objetos em um bucket do Amazon S3 com os SDKs da AWS em Code examples na Referência de API do Amazon S3.
Consulte informações gerais sobre como usar diferentes SDKs da AWS em Developing with Amazon S3 using the AWS SDKs na Referência de API do Amazon S3.
Baixar parte de um objeto
É possível baixar parte de um objeto usando a AWS CLI ou a API REST. Para fazer isso, use parâmetros adicionais a fim de especificar qual parte de um objeto você deseja baixar.
O exemplo de comando a seguir executa uma solicitação GET
para um intervalo de bytes no objeto chamado
no bucket denominado folder/my_data
. Na solicitação, o intervalo de bytes deve ter amzn-s3-demo-bucket1
bytes=
como prefixo. O objeto parcial é baixado para o arquivo de saída chamado
. Para usar esse exemplo de comando, substitua os my_data_range
por suas próprias informações.user input placeholders
aws s3api get-object --bucket
amzn-s3-demo-bucket1
--keyfolder/my_data
--range bytes=0-500
my_data_range
Para obter mais informações e exemplos, consulte get-object
Para obter mais informações sobre o cabeçalho HTTP Range
, consulte RFC 9110
nota
O Amazon S3 não comporta a recuperação de vários intervalos de dados em uma única solicitação GET
.
Você pode usar os parâmetros partNumber
e Range
na API REST para recuperar partes de objetos do Amazon S3. Para obter mais informações, consulte GetObject na Referência da API do Amazon Simple Storage Service.
Baixar um objeto de outra Conta da AWS
É possível usar um URL pré-assinado para conceder acesso por tempo limitado aos objetos sem atualizar a política de bucket.
O URL pré-assinado pode ser inserido em um navegador ou usado por um programa para baixar um objeto. As credenciais usadas pelo URL são as do usuário da AWS que gerou o URL. Depois que o URL for criado, qualquer pessoa com o URL pré-assinado poderá baixar o objeto correspondente até que o URL expire.
É possível usar o console do Amazon S3 para gerar um URL pré-assinado para compartilhar um objeto seguindo estas etapas. Ao usar o console, o tempo máximo de validade de um URL pré-assinado é de 12 horas a partir do momento da criação.
Para gerar um URL pré-assinado usando o console do Amazon 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, selecione o nome do bucket que contém os objetos para os quais você deseja obter um URL pré-assinado.
-
Na lista Objects (Objetos), selecione o objeto para o qual deseja criar um URL pré-assinado.
-
No menu Ações de objeto, escolha Compartilhar com um URL pré-assinado.
-
Especifique por quanto tempo deseja que o URL pré-assinado seja válido.
-
Escolha Create presigned URL (Criar URL pré-assinado).
-
Quando uma mensagem de confirmação é exibida, o URL é copiado automaticamente para a área de transferência. Você verá um botão para copiar o URL pré-assinado se precisar copiá-lo novamente.
-
Para baixar o objeto, cole o URL em qualquer navegador para que o objeto tente fazer download.
Para obter mais informações sobre URLs pré-assinados e outros métodos para criá-los, consulte Baixar e fazer upload de objetos com URLs pré-assinados.
Baixar objetos arquivados
Para reduzir os custos de armazenamento de objetos acessados com pouca frequência, você pode arquivar esses objetos. Quando você arquiva um objeto, ele é movido para um armazenamento de baixo custo, o que significa que não é possível acessá-lo em tempo real. Para baixar um objeto arquivado, você deve restaurá-lo primeiro.
Os objetos arquivados podem ser restaurados em minutos ou horas, dependendo da classe de armazenamento. Você pode restaurar um objeto arquivado usando o console do Amazon S3, Operações em Lote do S3, a API REST do Amazon S3, os AWS SDKs e a AWS Command Line Interface (AWS CLI).
Para obter instruções, consulte Restaurar um objeto arquivado. Depois de restaurar o objeto arquivado, você poderá baixá-lo.
Baixar objetos com base em metadados
É possível adicionar condições prévias para baixar um objeto com base nos respectivos metadados usando uma solicitação de leitura condicional. Você pode exibir um objeto com base na tag da entidade (ETag) ou na data da última modificação. Isso pode limitar uma operação do S3 a objetos atualizados desde uma data especificada ou exibir somente uma versão específica de um objeto.
É possível usar gravações condicionais para solicitações GetObject ou HeadObject.
Para ter mais informações sobre solicitações condicionais, consulte Adicionar condições prévias às operações do S3 com solicitações condicionais.
Solução de problemas de download de objetos
Permissões insuficientes ou políticas incorretas de bucket ou de usuário do AWS Identity and Access Management (IAM) podem causar erros ao tentar baixar objetos do Amazon S3. Esses problemas geralmente podem provocar erros de acesso negado (403 proibido), nos quais o Amazon S3 não consegue permitir o acesso a um recurso.
Para ver as causas comuns de erros de acesso negado (403 proibido), consulte Solucionar erros de acesso negado (403 Forbidden) no Amazon S3.