Todos os produtos
Search
Central de documentação

Object Storage Service:cp (Download objects)

Última atualização: Oct 21, 2026

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

Notas de uso

  • A partir do ossutil 1.6.16, você pode usar ossutil como o nome do binário na linha de comando, independentemente do seu sistema operacional. Se você estiver usando uma versão anterior à 1.6.16, será necessário alterar o nome do binário para corresponder ao seu sistema operacional. Para mais informações, consulte ossutil command reference.

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

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões totais sobre seus recursos. Um usuário ou uma função do Resource Access Management (RAM) não possui nenhuma permissão por padrão. Você deve conceder permissões a um usuário ou função do RAM usando uma RAM policy ou uma bucket policy.

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 usando a opção --version-id.

kms:GenerateDataKey

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

kms:Decrypt

oss:ListObjects

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

Sintaxe

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

Parâmetro

Descrição

cloud_url

O caminho de origem do objeto do OSS. O formato é oss://bucket[/prefix]. Por exemplo, oss://examplebucket/examplefile.txt.

file_url

O caminho de destino para o arquivo local. Se o destino for um diretório, o caminho deve terminar com um separador (/ ou \). Por exemplo, um caminho no Linux é /localfolder/examplefile.txt e um caminho no 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 se aplica apenas ao único objeto especificado.

-f --force

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

-u, --update

Baixa o objeto apenas 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

A velocidade máxima de download em KB/s. O valor padrão é 0, o que significa que não há limite de velocidade.

--disable-ignore-error

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

--only-current-dir

Baixa apenas os objetos no diretório atual e ignora subdiretórios e os objetos dentro deles.

--bigfile-threshold

O limiar de tamanho em bytes para um download retomável.

Padrão: 100 MB

Intervalo de valores: 0 a 9223372036854775807

--part-size

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

Intervalo de valores: 1 a 9223372036854775807

--checkpoint-dir

O diretório onde o ossutil armazena as informações de ponto de verificação para um download retomável. Se um download retomável falhar, o ossutil cria um diretório .ossutil_checkpoint para registrar as informações do ponto de verificação. O ossutil exclui este diretório após o sucesso do download. Certifique-se de que o diretório especificado possa ser excluído.

--range

Baixa um intervalo de bytes especificado do objeto e o salva como um novo arquivo. A numeração de bytes começa em zero.

  • Especifique um intervalo

    Por exemplo, 3-9 baixa os bytes do 3º ao 9º byte, inclusive.

  • Especifique uma posição inicial

    Por exemplo, 3- baixa do 3º byte até o final do objeto, inclusive.

  • Especifique uma posição final

    Por exemplo, -9 baixa do 0º byte ao 9º byte, inclusive.

--encoding-type

O tipo de codificação do nome do objeto. Defina esta opção como url. Se esta opção não for 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 include and exclude options.

--exclude

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

Para mais informações, consulte include and exclude options.

--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 (Manage object metadata).

--acl

A 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 gravação. Outros usuários não podem acessar os objetos no bucket.

  • public-read: Apenas o proprietário do bucket tem permissões de gravação. Todos os outros usuários, incluindo usuários anônimos, têm permissões somente leitura nos objetos do bucket. Isso pode levar a vazamentos 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. Isso pode levar a vazamentos de dados, aumento de custos e possíveis responsabilidades legais se conteúdo malicioso for carregado. Exceto para casos de uso específicos, não configure permissões de leitura e gravação públicas.

--snapshot-path

O diretório onde o ossutil salva as informações de snapshot durante o download. Para o próximo download, o ossutil lê as informações de snapshot deste diretório para realizar 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

O 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 está no formato Partition number:Total partitions. Por exemplo, 1:5 indica que este comando ossutil baixa a partição 1 de um total de 5 partições. Os números das partições começam 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 vários comandos ossutil. Cada comando baixa sua partição atribuída.

-j, --job

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

--parallel

O 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 um bucket com versionamento ativado. Para ativar o versionamento de um bucket, consulte bucket-versioning (Versioning).

--start-time

Um carimbo de data e hora UNIX. Se você especificar esta opção, os objetos com hora da última modificação anterior a este carimbo serão ignorados.

Nota

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

--end-time

Um carimbo de data e hora UNIX. Se você especificar esta opção, os objetos com hora da última modificação posterior a este carimbo serão ignorados.

Nota
  • Se você especificar tanto start-time quanto end-time, o comando de cópia atua apenas sobre 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 (Upgrade ossutil).

Para mais informações sobre outras opções comuns para este comando, consulte Common options.

Se a simultaneidade padrão não atender às suas necessidades de desempenho, você pode ajustar as opções -j, --jobs e --parallel para ajustar 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 simultaneidade real é o número de tarefas multiplicado pelo número de paralelos.

  • Se a instância ECS ou o servidor que executa o comando tiver recursos limitados, como rede, memória ou CPU, recomendamos que você defina a simultaneidade para um valor abaixo de 100. Se esses recursos não estiverem sendo totalmente utilizados, você pode aumentar a simultaneidade.

  • Definir a simultaneidade com um valor muito alto pode degradar o desempenho ou causar erros de EOF devido à sobrecarga de troca de threads e à competição por recursos. Você pode ajustar as opções -j, --jobs e --parallel com base nos recursos da sua máquina. Ao realizar testes de estresse, comece com valores baixos de simultaneidade e aumente-os gradualmente para encontrar a configuração ideal.

Exemplos

Os exemplos a seguir são para um sistema Linux. Você deve ajustar os parâmetros para corresponder ao seu sistema operacional e ambiente. Os exemplos assumem o seguinte:

  • Nome do bucket: examplebucket

  • Diretório do OSS: destfolder/

  • Diretório local: localfolder/

  • Arquivo local: examplefile.txt

Baixar um único objeto

  • Baixe um objeto para um diretório especificado e mantenha seu nome original:

    ossutil cp oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
  • Baixe um objeto para um diretório especificado e renomeie-o para example.txt:

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

Download em lote

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

    ossutil cp oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
  • Use a opção --only-current-dir para baixar apenas os objetos no diretório atual e ignorar quaisquer subdiretórios.

    ossutil cp oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
  • Use a opção -u para baixar apenas objetos que não existem localmente ou que foram atualizados no OSS. Esta opção ignora o download de um objeto se já existir um arquivo local com o mesmo nome e a mesma hora da última modificação.

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

Baixar objetos condicionais

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

    ossutil cp oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
  • Baixe objetos do diretório destfolder que contenham abc em seus nomes, mas que não estejam nos formatos JPG ou TXT:

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

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 oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

Download por intervalo

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

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

Baixar objetos dentro de um intervalo de tempo especificado

Use as opções --start-time e --end-time para baixar apenas os objetos no 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 oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret

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 pode ser usada apenas para objetos em um bucket com versionamento ativado. Para ativar o versionamento de um bucket, consulte bucket-versioning (Versioning).

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

Baixar objetos e gerar informações de snapshot

Use a opção --snapshot-path para gerar informações de snapshot para os 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 realizar um download incremental. Para mais informações, consulte Upload objects and generate snapshots.

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

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 que corresponde à região onde o bucket está localizado. Para mais informações, consulte Regions and Endpoints.

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