Para fazer upload de arquivos locais, imagens, vídeos ou outros recursos para o OSS — ou para fazer upload de arquivos grandes — use o comando cp no ossutil.
Observações importantes
-
Para fazer upload de arquivos, você deve ter as permissões
oss:PutObject,oss:ListPartseoss:AbortMultipartUpload. Para mais detalhes, consulte Conceder políticas de permissão personalizadas a usuários RAM. -
O upload em lote é compatível apenas quando a origem é um diretório.
-
Ao usar a opção
-u, --update, o sistema envia pelo menos uma solicitação HEAD para cada arquivo para compará-lo com o objeto de destino, independentemente de o objeto de destino existir ou não. Em cenários onde os dados mudam com pouca frequência, isso gera muitas solicitações ineficientes, o que pode degradar o desempenho e gerar cobranças adicionais de solicitação. Avalie suas necessidades de negócio cuidadosamente antes de usar esta opção para evitar consumo desnecessário de recursos.
Sintaxe do comando
ossutil cp source dest [flags]
|
Parâmetro |
Tipo |
Descrição |
|
source |
string |
Caminho do arquivo local. Aceita caminhos relativos, absolutos e |
|
dest |
string |
Caminho do arquivo no bucket de destino. Exemplo: |
|
--acl |
string |
Permissões de acesso para o 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 é 1.024 B/s. A unidade padrão é B/s. Ao definir este parâmetro, especifique uma unidade conforme necessário. As unidades válidas incluem B (bytes), K (kilobytes), M (megabytes) e G (gigabytes). Por exemplo, 50 M define o limite de largura de banda para 50 MB/s. |
|
--bigfile-threshold |
SizeSuffix |
Limiar (em bytes) para ativar upload, download ou cópia multipart de arquivos grandes. Valor padrão: 104857600. |
|
--cache-control |
string |
Especifica o comportamento de cache quando o objeto é baixado por um navegador da web. |
|
--content-disposition |
string |
Especifica como o objeto é exibido. |
|
--content-encoding |
string |
Declara o método de codificação do objeto. |
|
--content-type |
string |
Tipo de conteúdo do objeto. |
|
--copy-props |
string |
Determina quais propriedades copiar do objeto de origem. Valores válidos:
|
|
--checkpoint-dir |
string |
|
|
-d, --dirs |
string |
Lista arquivos e subdiretórios no diretório atual sem listar recursivamente todos os arquivos nos subdiretórios. |
|
--encoding-type |
string |
Método de codificação para nomes de objetos ou nomes de arquivos de entrada. Valor válido: url. |
|
--end-with |
string |
Retorna objetos que precedem ou correspondem 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 de regras. |
|
--expires |
stringArray |
Especifica o tempo de expiração absoluto para conteúdo em cache. |
|
--files-from |
stringArray |
Lê uma lista de nomes de arquivos de origem a partir de um arquivo, ignorando linhas vazias e linhas de comentário. Aplica-se apenas a cenários de filtragem. |
|
--files-from-raw |
stringArray |
Lê uma lista de nomes de arquivos de origem a partir 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 de regras. |
|
-f, --force |
/ |
Força a operação sem solicitar confirmação. |
|
--include |
stringArray |
Regras de inclusão para caminhos ou nomes de arquivos. null
Para mais informações sobre opções de filtragem, consulte Opções de filtragem. |
|
--include-from |
stringArray |
Lê regras de inclusão de um arquivo de regras. |
|
-j, --job |
int |
Número de tarefas simultâneas. Valor padrão: 3. null
Esta opção só tem efeito quando você também especifica um dos seguintes parâmetros: |
|
--listObjects |
/ |
Usa a API ListObjects para listar objetos. |
|
--max-size |
SizeSuffix |
Tamanho máximo de arquivo a transferir. A unidade padrão é bytes. Você também pode usar sufixos: 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 |
Especifica como definir os 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 de regras. |
|
--metadata-include |
stringArray |
Regras de inclusão para metadados de objetos. |
|
--min-age |
Duration |
Faz upload apenas de arquivos modificados antes do intervalo de tempo especificado. A unidade padrão é segundos. Você pode usar sufixos como h (horas). Exemplo: 1h significa 1 hora. null
|
|
--max-age |
Duration |
Faz upload apenas de arquivos modificados dentro do intervalo de tempo especificado. A unidade padrão é segundos. Você pode usar sufixos como h (horas). Exemplo: 1h significa 1 hora. null
|
|
--min-mtime |
Time |
Faz upload apenas de arquivos modificados após o horário especificado. Formato de horário: UTC, por exemplo, 2006-01-02T15:04:05. null
|
|
--max-mtime |
Time |
Faz upload apenas de arquivos modificados antes do horário especificado. Formato de horário: UTC, por exemplo, 2006-01-02T15:04:05. |
|
--min-size |
SizeSuffix |
Tamanho mínimo de arquivo a transferir. A unidade padrão é bytes. Você também pode usar sufixos: 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 upload em lote. Valor padrão: 1.000. Intervalo válido: 1 a 1.000. |
|
--parallel |
int |
Número de tarefas simultâneas para operações internas em um único arquivo. |
|
--part-size |
SizeSuffix |
Tamanho da parte para upload multipart. Por padrão, o ossutil calcula um tamanho de parte adequado com base no tamanho do arquivo. Intervalo válido: 100 KiB a 5 GiB. |
|
-r, --recursive |
/ |
Realiza a operação 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 solicitação. Defina este parâmetro se o bucket usar o modo de pagamento por solicitante. Valor válido: requester. |
|
--size-only |
/ |
Faz upload apenas dos arquivos de origem cujo tamanho difere dos arquivos de destino. |
|
--storage-class |
string |
Classe de armazenamento do objeto. Valores válidos:
|
|
--tagging |
strings |
Tags para o objeto, no formato chave=valor. |
|
--tagging-directive |
string |
Especifica como definir as tags para o objeto de destino. Valores válidos:
|
|
-u, --update |
/ |
Ignora arquivos que já existem no destino e possuem um horário de modificação mais recente que os arquivos de origem. null
Se um arquivo já existir no destino, mas tiver um horário de modificação mais antigo que o arquivo de origem, o arquivo será atualizado. |
|
--ignore-existing |
/ |
Ignora arquivos que já existem no destino. |
A partir do ossutil 2.3.0, as opções --job, --parallel, --bigfile-threshold, --part-size e --write-buffer-size podem ser configuradas por meio de um arquivo de configuração. Adicione-as no formato key=value (por exemplo, job=10) na seção de perfil correspondente do arquivo de configuração, ou defina-as usando ossutil config set. As opções de linha de comando têm precedência sobre as configurações do arquivo de configuração.
Para mais informações, consulte Opções de linha de comando.
As regras de nomenclatura de objetos são as seguintes:
-
Para upload de arquivo único, se o prefixo estiver vazio, o nome do objeto será o nome do arquivo.
-
Para upload de arquivo único, se o prefixo terminar com "/", o nome do objeto será prefixo + nome do arquivo.
-
Para upload em lote, se o prefixo estiver vazio, o nome do objeto será o caminho relativo do arquivo de origem.
-
Para upload em lote, se o prefixo terminar com "/", o nome do objeto será prefixo + caminho relativo do arquivo de origem.
-
Para upload em lote, se o prefixo não terminar com "/", o nome do objeto será prefixo + "/" + caminho relativo do arquivo de origem.
O caminho relativo de um arquivo de origem começa após o diretório raiz. Por exemplo, ao executar cp /root/dir/ ..., o caminho relativo do arquivo /root/dir/subdir/test.txt é subdir/test.txt.
Exemplos
Upload de um único arquivo
-
Fazer upload de um único arquivo
Faça upload do arquivo local examplefile.txt para a pasta desfolder no examplebucket.
ossutil cp D:/localpath/examplefile.txt oss://examplebucket/desfolder/
Upload de vários arquivos
-
Fazer upload apenas de arquivos em uma pasta
Faça upload dos arquivos da pasta local localfolder para a pasta desfolder no examplebucket.
ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ -
Upload em lote de arquivos que correspondem a uma condição
Faça upload de todos os arquivos com o formato TXT.
ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ --include "*.txt" -
Usar 10 tarefas simultâneas para upload em lote
ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ -f -j 10
Limitar a velocidade de upload
-
Faça upload do arquivo local upload.rar para a pasta desfolder no examplebucket a 20 MB/s. A unidade padrão é bytes por segundo (B/s).
ossutil cp D:/upload.rar oss://examplebucket/desfolder/ --bandwidth-limit 20971520 -
Faça upload do arquivo local file.rar para a pasta desfolder no examplebucket, limitando a velocidade de upload para 50 MB/s. Especifique a unidade como megabytes por segundo (MB/s).
ossutil cp D:/file.rar oss://examplebucket/desfolder/ --bandwidth-limit 50M