Para baixar recursos como arquivos, imagens ou vídeos do OSS para sua máquina local, use o comando cp no ossutil.
Observações
O download de arquivos requer as permissões
oss:GetObjecteoss:ListObjects. Para mais informações, consulte Conceder políticas de permissão personalizadas a usuários RAM.Ao usar a opção
-u, --update, o sistema envia pelo menos uma requisição HEAD por arquivo para comparar timestamps, independentemente da existência do arquivo de destino. Em cenários com poucas alterações de dados, isso gera muitas requisições ineficientes, o que pode degradar o desempenho e gerar custos extras. Avalie suas necessidades reais de negócio antes de usar esta opção para evitar consumo desnecessário de recursos.
Sintaxe do comando
ossutil cp oss://bucket[/prefix] local-path [flags]
|
Parâmetro |
Tipo |
Descrição |
|
local-path |
string |
Aceita caminhos relativos, absolutos e |
|
prefix |
string |
Prefixo do objeto. Se terminar com "/", apenas operações em lote são suportadas. Caso contrário, o comando determina se deve executar um download de objeto único ou em lote com base nas opções da linha de comando. |
|
--acl |
string |
Permissões de acesso ao objeto. Valores válidos:
|
|
--bandwidth-limit |
SizeSuffix |
Limita a largura de banda da rede para controlar a taxa de transferência de dados. O valor mínimo é 1024 B/s e a unidade padrão é B/s. É possível especificar uma unidade para o valor da largura de banda. As unidades suportadas incluem B (bytes), K (kilobytes), M (megabytes) e G (gigabytes). Por exemplo, 50 M define o limite como 50 MB/s. |
|
--bigfile-threshold |
SizeSuffix |
Limiar para ativar upload, download ou cópia multipart para arquivos grandes (padrão: 104857600). |
|
--cache-control |
string |
Define o comportamento de cache quando um navegador web baixa o objeto. |
|
--checkers |
int |
Número de verificadores concorrentes (padrão: 16). |
|
--checkpoint-dir |
string |
Diretório para armazenar informações de checkpoint de download retomável (padrão: |
|
--content-disposition |
string |
Especifica como exibir o objeto. |
|
--content-encoding |
string |
Declara o método de codificação do objeto. |
|
--content-type |
string |
Tipo de conteúdo do objeto. |
|
--copy-props |
string |
Controla a cópia de metadados e tags. Valores válidos:
|
|
-d, --dirs |
string |
Baixa arquivos e subdiretórios no diretório atual sem baixar recursivamente todos os arquivos em subdiretórios aninhados. |
|
--encoding-type |
string |
Método de codificação para nomes de objetos de entrada ou nomes de arquivos. Valor válido: url. |
|
--end-with |
string |
Retorna objetos anteriores ou correspondentes ao valor especificado em ordem alfabética. |
|
--exclude |
stringArray |
Regras de exclusão para caminhos ou nomes de arquivos. |
|
--exclude-from |
stringArray |
Lê regras de exclusão de um arquivo. |
|
--expires |
string |
Especifica o tempo absoluto de expiração para conteúdo em cache. |
|
--files-from |
stringArray |
Lê uma lista de nomes de arquivos de source de um arquivo, ignorando linhas vazias ou de comentário. Aplica-se apenas a cenários de filtragem. |
|
--files-from-raw |
stringArray |
Lê uma lista de nomes de arquivos de source de um arquivo. Aplica-se apenas a cenários de filtragem. |
|
--filter |
stringArray |
Regras de filtragem para caminhos ou nomes de arquivos. |
|
--filter-from |
stringArray |
Lê regras de filtragem de um arquivo. |
|
-f, --force |
/ |
Força a operação sem solicitar confirmação. |
|
--include |
stringArray |
Regras de inclusão para caminhos ou nomes de arquivos. |
|
--include-from |
stringArray |
Lê regras de inclusão de um arquivo. |
|
-j, --job |
int |
Número de tarefas concorrentes (padrão: 3). Nota
Este parâmetro só tem efeito se você também especificar qualquer um dos seguintes: |
|
--list-objects |
/ |
Usa a API ListObjects para listar objetos. |
|
--max-size |
SizeSuffix |
Tamanho máximo de arquivo a transferir. A unidade padrão é bytes. É possível adicionar um sufixo: B|K|M|G|T|P. Observação: 1K (KiB) = 1024B. |
|
--metadata |
strings |
Metadados definidos pelo usuário para o objeto, no formato chave=valor. |
|
--metadata-directive |
string |
Define como configurar metadados para o objeto de destino. Valores válidos:
|
|
--metadata-exclude |
stringArray |
Regras de exclusão para metadados de objetos. |
|
--metadata-filter |
stringArray |
Regras de filtragem para metadados de objetos. |
|
--metadata-filter-from |
stringArray |
Lê regras de filtragem de metadados de objetos de um arquivo. |
|
--metadata-include |
stringArray |
Regras de inclusão para metadados de objetos. |
|
--min-age |
Duration |
Baixa apenas arquivos modificados antes do intervalo de tempo especificado. A unidade padrão é segundos. É possível usar sufixos como h (horas). Por exemplo, 1h significa 1 hora. Nota
|
|
--max-age |
Duration |
Baixa apenas arquivos modificados dentro do intervalo de tempo especificado. A unidade padrão é segundos. É possível usar sufixos como h (horas). Por exemplo, 1h significa 1 hora. Nota
|
|
--min-mtime |
Time |
Baixa apenas arquivos modificados após o horário especificado. Formato de hora: UTC (por exemplo, 2006-01-02T15:04:05). Nota
|
|
--max-mtime |
Time |
Baixa apenas arquivos modificados antes do horário especificado. Formato de hora: UTC (por exemplo, 2006-01-02T15:04:05). |
|
--min-size |
SizeSuffix |
Tamanho mínimo de arquivo a transferir. A unidade padrão é bytes. É possível adicionar um sufixo: B|K|M|G|T|P. Observação: 1K (KiB) = 1024B. |
|
--no-progress |
/ |
Não exibe a barra de progresso. |
|
--page-size |
int |
Número máximo de objetos listados por página durante o download em lote (padrão: 1000). Intervalo válido: 1–1000. |
|
--parallel |
int |
Número de tarefas concorrentes para operações internas em um único arquivo. |
|
--part-size |
SizeSuffix |
Tamanho da parte para operações multipart. Por padrão, o ossutil calcula um tamanho adequado com base no tamanho do arquivo. Intervalo válido: 100 KiB–5 GiB. |
|
-r, --recursive |
/ |
Executa operações recursivamente. Quando esta opção é especificada, o comando opera em todos os objetos correspondentes no bucket. Caso contrário, opera apenas no objeto especificado pelo caminho. |
|
--request-payer |
string |
Método de pagamento da requisição. Defina como requester se o bucket usar o modo pay-by-requester. |
|
--size-only |
/ |
Baixa apenas arquivos de source cujos tamanhos diferem dos arquivos de destino. |
|
--start-after |
string |
Retorna objetos posteriores ao valor especificado em ordem alfabética, excluindo o próprio valor. |
|
--storage-class |
string |
Classe de armazenamento do objeto. Valores válidos:
|
|
--tagging |
strings |
Tags para o objeto, no formato chave=valor. |
|
--tagging-directive |
string |
Define como configurar tags para o objeto de destino. Valores válidos:
|
|
-u, --update |
/ |
Ignora arquivos que já existem no destino e possuem tempo de modificação mais recente que os arquivos de source. Nota
Se um arquivo já existir no destino, mas tiver tempo de modificação mais antigo que o arquivo de source, ele será atualizado. |
|
--ignore-existing |
/ |
Ignora arquivos que já existem no destino. |
|
--version-id |
string |
ID da versão do objeto. |
|
--write-buffer-size |
SizeSuffix |
Tamanho do buffer de memória usado para gravações. Alinhado automaticamente a limites de 4 KB. Suporta sufixos B / K / M (padrão: 128 KiB). Intervalo válido: 0–32 MiB. |
A partir do ossutil 2.3.0, é possível configurar as opções --job, --parallel, --bigfile-threshold, --part-size e --write-buffer-size em um arquivo de configuração. Adicione-as na seção de perfil correspondente no formato chave=valor (por exemplo, job=10) ou use ossutil config set para gravá-las. As opções de linha de comando têm precedência sobre as configurações do arquivo de configuração.
Para opções globais de linha de comando suportadas, consulte Opções globais de linha de comando.
As regras de nomenclatura para arquivos de destino são as seguintes:
Em downloads de arquivo único, se o destino for um diretório, o arquivo será criado nesse diretório usando o caminho relativo do arquivo de source.
Em downloads de arquivo único, se o destino for um arquivo ou não existir, o nome de arquivo de destino especificado será utilizado.
Em downloads em lote, os subdiretórios são criados nível por nível sob o diretório raiz de destino, conforme os caminhos relativos dos arquivos de source, e então os arquivos são criados.
O caminho relativo de um arquivo de source é obtido removendo todos os caracteres até e incluindo a última '/' no prefixo.
Por exemplo, em cp oss://bucket/root/dir/ ..., o objeto root/dir/subdir/test.txt tem o caminho relativo subdir/test.txt.
Exemplos
Baixar um único arquivo
Se você não especificar um nome de arquivo durante o download, o nome original do arquivo será usado localmente. Se especificar um nome, o arquivo será salvo localmente com esse nome.
-
Salvar usando o nome original do arquivo
ossutil cp oss://examplebucket/examplefile.txt D:/localpath -
Salvar usando um nome de arquivo específico
ossutil cp oss://examplebucket/examplefile.txt D:/localpath/example.txt
Baixar vários arquivos
-
Baixar arquivos de um tipo específico
Para baixar vários arquivos que compartilham um padrão de nomenclatura — como um prefixo ou sufixo comum — use as opções --include e --exclude para selecionar os arquivos correspondentes.
Baixe todos os arquivos, exceto aqueles com o formato JPG:
ossutil cp oss://examplebucket/destfolder/ D:/localpath/ --exclude "*.jpg" -r -
Baixar pastas
ossutil cp -r oss://examplebucket/destfolder/ D:/localpath/ -
Baixar todos os arquivos da raiz do bucket
ossutil cp -r oss://examplebucket D:/localpath/
Limitar a velocidade de download
Baixe examplefile.txt para o diretório atual e limite a velocidade de download a 20 MB/s.
ossutil cp oss://examplebucket/examplefile.txt . --bandwidth-limit 20971520