Baixar objetos - Amazon Simple Storage Service

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.

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
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Na lista Buckets, escolha o nome do bucket do qual você deseja fazer download de um objeto.

  3. 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 folder/my_image do bucket amzn-s3-demo-bucket1. O objeto será baixado em um arquivo chamado my_downloaded_image.

aws s3api get-object --bucket amzn-s3-demo-bucket1 --key folder/my_image my_downloaded_image

Para obter mais informações e exemplos, consulte get-object na Referência de comandos da AWS CLI.

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
  1. Faça login no AWS Management Console e abra o console do CloudShell em https://console.aws.amazon.com/cloudshell/.

  2. Os comandos a seguir são executados para sincronizar objetos no bucket com o CloudShell. O comando a seguir sincroniza objetos do bucket chamado amzn-s3-demo-bucket1 e cria uma pasta chamada temp no CloudShell. O CloudShell sincroniza os objetos com essa pasta. Para usar esse comando, substitua user input placeholders por suas informações.

    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 "value" e --include "value" com o comando sync.

  3. Execute o comando a seguir para compactar objetos na pasta chamada temp para um arquivo chamado temp.zip.

    zip temp.zip -r temp/
  4. Escolha Ações e Baixar arquivo.

  5. Insira um nome para o arquivo temp.zip e escolha Baixar.

  6. (Opcional) Exclua o arquivo temp.zip e os objetos que estão sincronizados com a pasta temp no CloudShell. Com o AWS CloudShell, você tem armazenamento persistente de até 1 GB para cada Região da AWS.

    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 user input placeholders por suas próprias informações.

    rm temp.zip && rm -rf temp/

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 amzn-s3-demo-bucket1 para o diretório atual. Para usar esse exemplo de comando, use o nome do seu bucket no lugar de amzn-s3-demo-bucket1.

aws s3 cp s3://amzn-s3-demo-bucket1 . --recursive

O comando a seguir baixa todos os objetos com o prefixo logs no bucket amzn-s3-demo-bucket1 para o diretório atual. Ele também usa os parâmetros --exclude e --include para copiar somente objetos com o sufixo .log. Para usar esse exemplo de comando, substitua os user input placeholders por suas próprias informações.

aws s3 cp s3://amzn-s3-demo-bucket1/logs/ . --recursive --exclude "*" --include "*.log"

Para obter mais informações e exemplos, consulte cp na Referência de comandos da AWS CLI.

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 folder/my_data no bucket denominado amzn-s3-demo-bucket1. Na solicitação, o intervalo de bytes deve ter bytes= como prefixo. O objeto parcial é baixado para o arquivo de saída chamado my_data_range. Para usar esse exemplo de comando, substitua os user input placeholders por suas próprias informações.

aws s3api get-object --bucket amzn-s3-demo-bucket1 --key folder/my_data --range bytes=0-500 my_data_range

Para obter mais informações e exemplos, consulte get-object na Referência de comandos da AWS CLI.

Para obter mais informações sobre o cabeçalho HTTP Range, consulte RFC 9110 no site do RFC Editor.

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

  3. Na lista Buckets, selecione o nome do bucket que contém os objetos para os quais você deseja obter um URL pré-assinado.

  4. Na lista Objects (Objetos), selecione o objeto para o qual deseja criar um URL pré-assinado.

  5. No menu Ações de objeto, escolha Compartilhar com um URL pré-assinado.

  6. Especifique por quanto tempo deseja que o URL pré-assinado seja válido.

  7. Escolha Create presigned URL (Criar URL pré-assinado).

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

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