Todos os produtos
Search
Central de documentação

Object Storage Service:cp (Baixar objetos)

Última atualização: Jul 03, 2026

Use o comando cp para baixar recursos como arquivos, imagens e vídeos do Object Storage Service (OSS) para o computador local. Esse comando permite baixar vários objetos, limitar a velocidade de download ou obter versões específicas de objetos em um bucket com versionamento ativado.

Observações de uso

  • A partir da versão 1.6.16 do ossutil, use ossutil como nome do binário na linha de comando, independentemente do sistema operacional. Se você usar uma versão anterior à 1.6.16, altere o nome do binário para corresponder ao seu sistema operacional. Para mais informações, consulte Referência de comandos do ossutil.

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões totais sobre seus recursos. Um usuário ou função do Resource Access Management (RAM) não tem permissões por padrão. Conceda permissões a um usuário ou função RAM por meio de uma política do RAM ou de uma política de bucket.

Ação da API

Descrição

oss:GetObject

Necessária para baixar um objeto.

oss:GetObjectVersion

Opcional. Necessária para baixar uma versão específica de um objeto de origem com a opção --version-id.

kms:GenerateDataKey

Opcional. Necessária se o objeto baixado estiver criptografado no lado do servidor com KMS.

kms:Decrypt

oss:ListObjects

Opcional. Necessária para downloads em lote (operações recursivas).

Sintaxe

ossutil cp cloud_url file_url [options]

Parâmetro

Descrição

cloud_url

Caminho de origem do objeto no OSS. O formato é oss://bucket[/prefix]. Exemplo: oss://examplebucket/examplefile.txt.

file_url

Caminho de destino do arquivo local. Se o destino for um diretório, o caminho deve terminar com um separador (/ ou \). Exemplo: um caminho Linux é /localfolder/examplefile.txt e um caminho Windows é D:\localfolder\examplefile.txt.

-r, --recursive

Aplica a operação recursivamente a todos os objetos correspondentes sob o prefixo especificado. Caso contrário, a operação aplica-se apenas ao objeto único indicado.

-f --force

Força a execução da operação sem solicitar confirmação.

-u,--update

Baixa somente se o arquivo de destino não existir ou se a hora da última modificação do objeto de origem for posterior à do arquivo de destino.

--maxdownspeed

Velocidade máxima de download em KB/s. O valor padrão é 0, que indica ausência de limite de velocidade.

--disable-ignore-error

Desativa a ação de ignorar erros durante operações em lote.

--only-current-dir

Baixa apenas os objetos do diretório atual e ignora subdiretórios e seu conteúdo.

--bigfile-threshold

Limiar de tamanho em bytes para ativar o download retomável.

Padrão: 100 MB

Intervalo de valores: 0 a 9223372036854775807

--part-size

Tamanho da parte em bytes. Por padrão, o ossutil calcula automaticamente um tamanho adequado com base no tamanho do objeto.

Intervalo de valores: 1 a 9223372036854775807

--checkpoint-dir

Diretório onde o ossutil armazena informações de checkpoint para downloads retomáveis. Se um download retomável falhar, o ossutil cria um diretório .ossutil_checkpoint para registrar as informações de checkpoint. O ossutil exclui esse diretório após a conclusão bem-sucedida do download. Certifique-se de que o diretório especificado possa ser excluído.

--range

Baixa um intervalo específico de bytes do objeto e salva-o como um novo arquivo. A numeração dos bytes começa em zero.

  • Especificar um intervalo

    Exemplo: 3-9 baixa os bytes do 3º ao 9º byte, inclusive.

  • Especificar uma posição inicial

    Exemplo: 3- baixa do 3º byte até o final do objeto, inclusive.

  • Especificar uma posição final

    Exemplo: -9 baixa do byte 0 até o 9º byte, inclusive.

--encoding-type

Tipo de codificação do nome do objeto. Defina esta opção como url. Se não especificada, o nome do objeto não será codificado.

--include

Inclui todos os objetos que correspondem ao padrão especificado.

Para mais informações, consulte opções include e exclude.

--exclude

Exclui todos os objetos que correspondem ao padrão especificado.

Para mais informações, consulte opções include e exclude.

--meta

Define os metadados do objeto. O formato é header:value#header:value. Exemplo: Cache-Control:no-cache#Content-Encoding:gzip. Para mais informações sobre metadados, consulte set-meta (Gerenciar metadados de objetos).

--acl

Lista de controle de acesso (ACL) do objeto. Valores válidos:

  • default (padrão): O objeto herda a ACL do bucket.

  • private: Apenas o proprietário do bucket tem permissões de leitura e escrita. Outros usuários não podem acessar os objetos no bucket.

  • public-read: Apenas o proprietário do bucket tem permissão de escrita. Todos os outros usuários, incluindo anônimos, têm permissão somente de leitura nos objetos do bucket. Isso pode causar vazamento de dados e aumento de custos. Use esta ACL com cautela.

  • public-read-write: Qualquer pessoa, incluindo usuários anônimos, pode ler e gravar objetos no bucket. Essa configuração pode resultar em vazamento de dados, custos elevados e possíveis responsabilidades legais caso conteúdo malicioso seja enviado. Exceto para casos de uso específicos, não configure permissões públicas de leitura e escrita.

--snapshot-path

Diretório onde as informações de snapshot são salvas durante o download. No próximo download, o ossutil lê essas informações desse diretório para executar um download incremental.

--disable-crc64

Desativa a verificação de redundância cíclica de 64 bits (CRC-64). Por padrão, o ossutil ativa o CRC-64 para todas as transferências de dados.

--payer

Método de pagamento da solicitação. Para que o solicitante pague pelo tráfego e pelas solicitações geradas ao acessar o caminho especificado, defina esta opção como requester.

--partition-download

Especifica uma partição do objeto a ser baixada. O valor segue o formato Partition number:Total partitions. Exemplo: 1:5 indica que este comando do ossutil baixará a partição 1 de um total de 5 partições. A numeração das partições começa em 1. O algoritmo interno da ferramenta determina como o ossutil particiona o objeto. Esta opção permite dividir um objeto em várias partições e baixá-las em paralelo usando múltiplos comandos do ossutil. Cada comando baixa sua partição atribuída.

-j,--job

Número de tarefas simultâneas para operações com múltiplos objetos. Padrão: 3. Intervalo de valores: 1 a 10.000.

--parallel

Número de tarefas simultâneas para operações com um único objeto. Intervalo de valores: 1 a 10.000. Se esta opção não for definida, o ossutil determina o valor com base no tipo de operação e no tamanho do objeto.

--version-id

Baixa uma versão específica de um objeto. Use a opção --version-id apenas com buckets que tenham versionamento ativado. Para ativar o versionamento de um bucket, consulte bucket-versioning (Versionamento).

--start-time

Timestamp UNIX. Ao especificar esta opção, objetos com hora de última modificação anterior a este timestamp são ignorados.

Nota

Apenas o ossutil 1.7.18 e versões posteriores suportam este parâmetro. Para mais informações sobre atualização, consulte update (Atualizar ossutil).

--end-time

Timestamp UNIX. Ao especificar esta opção, objetos com hora de última modificação posterior a este timestamp são ignorados.

Nota
  • Se você especificar tanto start-time quanto end-time, o comando de cópia será executado apenas para arquivos cuja última modificação ocorreu entre os horários inicial e final especificados.

  • Apenas o ossutil 1.7.18 e versões posteriores suportam este parâmetro. Para mais informações sobre como atualizar a versão, consulte update (Atualizar ossutil).

Para mais informações sobre outras opções comuns deste comando, consulte Opções comuns.

Se a concorrência padrão não atender às suas necessidades de desempenho, ajuste as opções -j, --jobs e --parallel para otimizar o desempenho. Por padrão, o ossutil calcula o número de paralelos com base no tamanho do objeto. Ao transferir objetos grandes em lote, a concorrência real corresponde ao número de jobs multiplicado pelo número de paralelos.

  • Se a instância ECS ou servidor que executa o comando tiver recursos limitados, como rede, memória ou CPU, recomenda-se definir a concorrência para um valor abaixo de 100. Caso esses recursos não estejam totalmente utilizados, aumente a concorrência.

  • Definir uma concorrência muito alta pode degradar o desempenho ou causar erros EOF devido à sobrecarga de troca de threads e competição por recursos. Ajuste as opções -j, --jobs e --parallel conforme os recursos da sua máquina. Durante testes de estresse, comece com valores baixos de concorrência e aumente-os gradualmente até encontrar a configuração ideal.

Exemplos

Os exemplos a seguir aplicam-se a sistemas Linux. Ajuste os parâmetros conforme seu sistema operacional e ambiente. Os exemplos consideram o seguinte cenário:

  • Nome do bucket: examplebucket

  • Diretório OSS: destfolder/

  • Diretório local: localfolder/

  • Arquivo local: examplefile.txt

Baixar um único objeto

  • Baixe um objeto para um diretório específico mantendo seu nome original:

    ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/
  • Baixe um objeto para um diretório específico e renomeie-o para example.txt:

    ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/example.txt

Download em lote

  • Use a opção -r para baixar o diretório destfolder, incluindo todos os seus subdiretórios e objetos.

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/
  • Use a opção --only-current-dir para baixar apenas os objetos do diretório atual, ignorando quaisquer subdiretórios.

    ossutil cp oss://examplebucket/destfolder/ localfolder/ --only-current-dir -r
  • Use a opção -u para baixar apenas objetos inexistentes localmente ou atualizados no OSS. Esta opção ignora o download caso já exista um arquivo local com o mesmo nome e a mesma data de última modificação.

    ossutil cp -r -u oss://examplebucket/destfolder/ localfolder/

Baixar objetos condicionais

  • Baixe todos os objetos que não estão no formato JPG dentro do diretório destfolder:

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --exclude "*.jpg"
  • Baixe objetos do diretório destfolder que contenham abc em seus nomes, mas que não estejam nos formatos JPG ou TXT:

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt"

Limitar a velocidade de download

Use a opção --maxdownspeed para limitar a velocidade de download a 1 MB/s (1.024 KB/s).

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --maxdownspeed 1024

Download por intervalo

Use a opção --range para baixar os bytes de 10 a 20 do arquivo examplefile.txt para o computador local.

ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/ --range 10-20

Baixar objetos dentro de um intervalo de tempo especificado

Use as opções --start-time e --end-time para baixar apenas os objetos do diretório destfolder cuja última modificação ocorreu entre 10:09:18 de 31 de outubro de 2023 (UTC+8) e 12:55:58 de 31 de outubro de 2023 (UTC+8).

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158

Baixar uma versão específica de um objeto

Primeiro, use o comando ls --all-versions para obter todos os IDs de versão do objeto. Em seguida, use a opção --version-id para baixar uma versão específica.

Nota

A opção --version-id só pode ser usada para objetos em um bucket com versionamento ativado. Para ativar o versionamento de um bucket, consulte bucket-versioning (Versionamento).

ossutil cp oss://examplebucket/test.jpg localfolder/ --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk

Baixar objetos e gerar informações de snapshot

Use a opção --snapshot-path para gerar informações de snapshot dos objetos baixados em um diretório especificado. Ao executar um comando de download subsequente com esta opção, o ossutil lê as informações de snapshot do diretório para executar um download incremental. Para mais informações, consulte Enviar objetos e gerar snapshots.

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158

Download entre contas ou entre regiões

Use as opções comuns -e, -i e -k para baixar um objeto de um bucket pertencente a outra conta e localizado na região China (Shanghai).

Nota

Especifique o Endpoint correspondente à região onde o bucket está localizado. Para mais informações, consulte Regiões e Endpoints.

ossutil cp oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret