O comando set-props define propriedades de objetos, incluindo permissões de acesso, classes de armazenamento, metadados e tags.
Precauções
O comando set-props chama diferentes operações de API dependendo da propriedade do objeto modificada. Verifique se você possui as permissões necessárias. Por exemplo, chamar a operação de API PutObjectAcl exige a permissão oss:PutObjectAcl. As operações de API específicas chamadas são as seguintes:
Para modificar apenas a lista de controle de acesso (ACL) do objeto: O comando chama a operação de API
PutObjectAcl.Para modificar apenas as tags do objeto: O comando chama a operação de API
PutObjectTagging. Se a instrução de modificação de tags envolver a atualização de tags existentes, como uma adição incremental, o sistema primeiro chama a operação de APIGetObjectTaggingpara recuperar as tags originais.Para modificar a classe de armazenamento ou os metadados do objeto: Esta operação reescreve o objeto. O comando chama a operação de API
CopyObjectou utiliza o fluxo de cópia multipart (InitiateMultipartUpload->UploadPartCopy->CompleteMultipartUpload).-
Para modificar várias propriedades simultaneamente: O comando seleciona a combinação mais eficiente de operações de API. Por exemplo:
Para modificar tanto as permissões quanto as tags do objeto: O comando chama
PutObjectAclePutObjectTagging.Para modificar tanto as permissões quanto a classe de armazenamento do objeto: O comando chama diretamente a operação de API
CopyObjectou as operações de API de cópia multipart (InitiateMultipartUpload->UploadPartCopy->CompleteMultipartUpload) para atualizar as permissões e a classe de armazenamento simultaneamente.
Alterar a classe de armazenamento de um objeto gera taxas de requisição PUT:
Para objetos com tamanho igual ou inferior ao limiar especificado por
--bigfile-threshold, o ossutil chamaCopyObject. A cobrança da requisição baseia-se na classe de armazenamento do objeto de origem.Para objetos maiores que o limiar, o ossutil usa cópia multipart. Cada parte chama
UploadPartCopy. A cobrança da requisição baseia-se na classe de armazenamento do objeto de destino.Converter muitos objetos para Deep Cold Archive pode gerar altas taxas de requisição PUT. Aumente
--bigfile-thresholdou--part-sizepara reduzir as requisiçõesUploadPartCopy. Ao alterar a classe de armazenamento de um objeto,CopyObjectsuporta objetos de até 1 GB.
Para regras de faturamento, consulte Request fees. Para orientações sobre faturamento e uso do Deep Cold Archive, consulte Best practices for using Deep Cold Archive.
Formato do comando
ossutil set-props oss://bucket[/prefix] [flags]
|
Parâmetro |
Tipo |
Descrição |
|
--acl |
string |
Lista de controle de acesso (ACL) do objeto. Valores válidos:
|
|
--bigfile-threshold |
SizeSuffix |
Limiar de tamanho de objeto para upload, download ou cópia multipart. Objetos maiores que o limiar usam cópia multipart. Valor padrão: 100 MiB. Sufixos suportados: B, K, M, G, T e P. |
|
--cache-control |
string |
Especifica o comportamento de cache da página web ao baixar o objeto. |
|
--content-disposition |
string |
Define como o objeto é exibido. |
|
--content-encoding |
string |
Indica o formato de codificação do objeto. |
|
--content-type |
string |
Tipo de conteúdo do objeto. |
|
-d, --dirs |
/ |
Retorna os arquivos e subdiretórios no diretório atual. Não exibe recursivamente todos os arquivos em todos os subdiretórios. |
|
--encoding-type |
string |
Tipo de codificação do nome do objeto de entrada ou nome do arquivo. Valor válido: url. |
|
--end-with |
string |
Ordena os objetos alfabeticamente e retorna aqueles anteriores ou iguais ao valor especificado. |
|
--exclude |
stringArray |
Regras para excluir caminhos ou nomes de arquivos. |
|
--exclude-from |
stringArray |
Lê regras de exclusão de um arquivo de regras. |
|
--expires |
string |
Define o tempo absoluto de expiração para o conteúdo em cache. |
|
--files-from |
stringArray |
Lê uma lista de nomes de arquivos de source a partir de um arquivo. Linhas vazias ou comentadas são ignoradas. |
|
--files-from-raw |
stringArray |
Lê uma lista de nomes de arquivos de source a partir de um arquivo. |
|
--filter |
stringArray |
Regras para filtrar 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 para incluir caminhos ou nomes de arquivos. |
|
--include-from |
stringArray |
Lê regras de inclusão de um arquivo de regras. |
|
-j, --job |
int |
Número de tarefas concorrentes. O valor padrão é 3. Importante
Este parâmetro só tem efeito quando você especifica o parâmetro |
|
--list-objects |
/ |
Usa a operação de API ListObjects para listar objetos. |
|
--max-size |
SizeSuffix |
Tamanho máximo de um arquivo a ser transferido. A unidade padrão é byte. É possível usar um sufixo: B, K, M, G, T ou P. 1 K (KiB) = 1024 B. |
|
--metadata |
strings |
Especifica os metadados do usuário do objeto no formato chave=valor. Exemplo: --metadata test=value,test1=value1. |
|
--metadata-directive |
string |
Instrução para modificar metadados. Valores válidos:
|
|
--metadata-exclude |
stringArray |
Regras para excluir metadados de objetos. |
|
--metadata-filter |
stringArray |
Regras para filtrar metadados de objetos. |
|
--metadata-filter-from |
stringArray |
Lê regras de filtragem de metadados de objetos de um arquivo de regras. |
|
--metadata-include |
stringArray |
Regras para incluir metadados de objetos. |
|
--min-age |
Duration |
Define propriedades apenas para arquivos modificados antes do intervalo de tempo especificado. A unidade padrão é segundo. É possível usar um sufixo de unidade, como 1h para 1 hora. Nota
|
|
--max-age |
Duration |
Define propriedades apenas para arquivos modificados dentro do intervalo de tempo especificado. A unidade padrão é segundo. É possível usar um sufixo de unidade, como 1h para 1 hora. Nota
|
|
--min-mtime |
Time |
Define propriedades apenas para arquivos modificados após o horário especificado. O horário deve estar no formato UTC. Por exemplo, 2006-01-02T15:04:05. Nota
|
|
--max-mtime |
Time |
Define propriedades apenas para arquivos modificados antes do horário especificado. O horário deve estar no formato UTC. Por exemplo, 2006-01-02T15:04:05. |
|
--min-size |
SizeSuffix |
Tamanho mínimo de um arquivo a ser transferido. A unidade padrão é byte. É possível usar um sufixo: B, K, M, G, T ou P. 1 K (KiB) = 1024 B. |
|
--no-progress |
/ |
Não exibe a barra de progresso. |
|
--page-size |
int |
Número máximo de objetos a serem listados em cada página durante o processamento em lote. O valor padrão é 1000. O valor pode variar de 1 a 1000. |
|
--parallel |
int |
Número de tarefas concorrentes para operações em um único arquivo. |
|
--part-size |
SizeSuffix |
Tamanho da parte. Por padrão, o ossutil calcula o tamanho da parte com base no tamanho do objeto. Partes maiores reduzem o número de requisições |
|
-r, --recursive |
/ |
Executa a operação recursivamente. Ao especificar esta opção, o comando aplica-se a todos os objetos correspondentes no bucket. Caso contrário, o comando aplica-se apenas ao objeto especificado pelo caminho. |
|
--request-payer |
string |
Método de pagamento da requisição. Defina este parâmetro se você usar o modo pay-by-requester. Valor válido: requester. |
|
--start-after |
string |
Ordena os objetos alfabeticamente e retorna aqueles posteriores ao valor especificado. |
|
--storage-class |
string |
Classe de armazenamento do objeto. Valores válidos:
|
|
--tagging |
strings |
Especifica as tags do objeto no formato chave=valor. Exemplo: --tagging tag1=value1,tag2=value2. |
|
--tagging-directive |
string |
Instrução para modificar tags. Valores válidos:
|
|
--version-id |
string |
ID da versão do objeto. |
|
--list-format |
string |
Formato do arquivo de lista. Valores válidos: plain, inventory. |
|
--list-manifest-from |
string |
Lê a descrição do formato do arquivo de lista a partir de um arquivo. Este parâmetro é obrigatório quando o formato do arquivo de lista é |
Para mais informações, consulte Command-line options.
Exemplos
-
Defina as permissões de acesso de um objeto como private.
ossutil set-props oss://examplebucket/exampleobject.txt --acl private -
Defina a classe de armazenamento de um objeto como Archive Storage.
ossutil set-props oss://examplebucket/exampleobject.txt --storage-class Archive -
Converta objetos para Deep Cold Archive em lotes e estime as taxas de requisição PUT.
Para objetos de até 1 GB, aumente o limiar multipart para usar
CopyObject. O exemplo abaixo define o limiar como 1 GB:ossutil set-props oss://examplebucket/exampledir/ --storage-class DeepColdArchive --bigfile-threshold 1G -rObjetos maiores que 1 GB exigem cópia multipart. Aumente o tamanho da parte para reduzir as requisições
UploadPartCopy. O exemplo abaixo define o tamanho da parte como 1 GiB:ossutil set-props oss://examplebucket/exampledir/ --storage-class DeepColdArchive --part-size 1G -rEstime o número de requisições
UploadPartCopycom as seguintes fórmulas:Parts per object = ceil(object size / part size) UploadPartCopy requests = number of objects × parts per objectPor exemplo, converter 1000 objetos de 10 GiB cada com
--part-size 1Ggera 10 requisiçõesUploadPartCopypor objeto e 10000 requisições no total. A cobrança doUploadPartCopybaseia-se na classe de armazenamento do objeto de destino. Portanto, estime essa parte da taxa com base nas regras de faturamento para requisições PUT do Deep Cold Archive. A cópia multipart também chamaInitiateMultipartUploadeCompleteMultipartUpload. A listagem de objetos e novas tentativas também podem gerar taxas de requisição. -
Para objetos com extensão .txt, altere o content-type para text/plain.
ossutil set-props oss://bucket/prefix --content-type text/plain --include "*.txt" --metadata-directive update -r -
Defina as tags de um objeto.
ossutil set-props oss://examplebucket/exampleobject.txt --tagging tag1=value1 --tagging-directive update -
Defina propriedades de objetos a partir de um arquivo de lista.
NotaCada linha no arquivo de lista representa um objeto e usa o formato de caminho OSS
oss://{bucket}/{key}. Por exemplo, o arquivo list.txt contém o seguinte conteúdo:oss://examplebucket/key1 oss://examplebucket/key2ossutil set-props list://list.txt -
Defina propriedades de objetos a partir de um arquivo de manifesto.
NotaApós executar uma tarefa de inventário, um arquivo
csv.gze um arquivomanifest.jsonsão gerados nos resultados do inventário. Use esses dois arquivos para definir propriedades de objetos a partir de um arquivo de manifesto.ossutil set-props list://ca8007fc-4123-493e-9a01-dd1511fbac54.csv.gz --list-format inventory --list-manifest-from manifest.json