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 |
|
|
Necessária para baixar um objeto. |
|
|
Opcional. Necessária para baixar uma versão específica de um objeto de origem usando a opção |
|
|
Opcional. Necessária se o objeto baixado estiver criptografado no lado do servidor usando o KMS. |
|
|
|
|
|
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 é |
|
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 é |
|
-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 |
|
--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.
|
|
--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 é |
|
--acl |
A lista de controle de acesso (ACL) do objeto. Valores válidos:
|
|
--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 |
|
-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
|
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:
examplebucketDiretó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
-rpara baixar o diretóriodestfolder, 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-dirpara 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
-upara 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
destfolderque contenhamabcem 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.
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).
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