Este tópico descreve como executar o comando rm para excluir objetos, partes ou buckets desnecessários e evitar cobranças indevidas.
Observações de uso
A exclusão de um único objeto requer a permissão
oss:DeleteObject. Já a remoção de todos os objetos de um diretório exige as permissõesoss:DeleteObjecteoss:ListObjects. Para excluir uma versão específica de objeto, você precisa da permissãooss:DeleteObjectVersion. A exclusão de todas as versões de objetos em um bucket demanda as permissõesoss:ListObjectVersionseoss:DeleteObjectVersion. Se o objetivo for excluir todas as versões de objetos em um diretório, são necessárias as permissõesoss:DeleteObjectVersioneoss:ListObjects. Remover partes de um objeto requer as permissõesoss:ListMultipartUploadseoss:AbortMultipartUpload. Para excluir todos os objetos e partes de um bucket, você deve ter as permissõesoss:ListMultipartUploads,oss:AbortMultipartUpload,oss:ListObjectseoss:DeleteObject. Por fim, a exclusão de um bucket exige a permissãooss:DeleteBucket.No ossutil 1.6.16 e versões posteriores, use diretamente ossutil como nome do binário na linha de comando. Não é necessário alterar o nome do binário conforme o sistema operacional. Em versões anteriores à 1.6.16, ajuste o nome do binário de acordo com o sistema operacional. Para mais informações, consulte Guia de início rápido da ferramenta de linha de comando ossutil.
Sintaxe do comando
ossutil rm oss://bucketname[/prefix]
[-r, --recursive]
[-b, --bucket]
[-m, --multipart]
[-a, --all-type]
[-f, --force]
[--include <value>]
[--exclude <value>]
[--version-id <value>]
[--all-versions]
[--payer <value>]
[--encoding-type <value>]
A tabela a seguir descreve os parâmetros e opções da sintaxe.
|
Parâmetro/Opção |
Descrição |
|
bucketname |
Nome do bucket. |
|
prefix |
Prefixo nos nomes dos recursos, como diretórios e objetos. |
|
-r, --recursive |
Quando esta opção é especificada, o ossutil exclui do bucket todos os objetos cujos nomes contenham o prefixo indicado. Sem essa opção, apenas os objetos especificados são excluídos. |
|
-b, --bucket |
Indica que o comando deve excluir o bucket. Esta opção é obrigatória somente ao excluir um bucket. |
|
-m, --multipart |
Defina que a operação será aplicada às tarefas incompletas de upload multipart no bucket. |
|
-a, --all-type |
Especifique que a operação abrange tanto os objetos com o prefixo indicado quanto os dados gerados por tarefas incompletas de upload multipart no bucket. |
|
-f, --force |
Força a execução da operação sem solicitar confirmação. |
|
--include |
Inclui todos os objetos que atendem às condições especificadas. Para mais informações, consulte Opções --include e --exclude. |
|
--exclude |
Exclui todos os objetos que correspondem às condições definidas. Para mais informações, consulte Opções --include e --exclude. |
|
--version-id |
ID da versão do objeto. Este parâmetro aplica-se apenas a buckets com versionamento ativado ou suspenso. |
|
--all-versions |
Abrange todas as versões dos objetos. Esta opção vale somente para objetos em buckets com versionamento ativado ou suspenso. Em um único comando rm, especifique apenas uma das opções: --version-id ou --all-versions. |
|
--payer |
Responsável pelo pagamento das taxas geradas pela operação. Se o solicitante que acessa os recursos no caminho especificado deve arcar com os custos (como tráfego e requisições), defina este parâmetro como requester. |
|
--encoding-type |
Codificação do prefixo que segue |
Excluir objetos
Objetos excluídos não podem ser recuperados. Tenha cautela ao realizar esta operação.
O uso do comando rm, com ou sem a opção -r, para excluir um ou mais objetos aciona as operações ListObjects (GetBucket) e DeleteObject. Nesse caso, há cobrança pelo envio de requisições PUT. Para mais informações, consulte Taxas de requisição.
O uso combinado das opções --include e --exclude em um comando rm pode causar exclusões acidentais se as condições forem configuradas incorretamente. Recomendamos cautela ao utilizar ambas as opções simultaneamente.
É possível definir múltiplas condições nas opções --include e --exclude. O sistema aplica todas as condições da esquerda para a direita para corresponder aos objetos. Ao especificar mais de uma condição, prefira colocar a opção --include antes da --exclude.
-
Exemplos
-
Excluir um único objeto
Exclua um objeto chamado exampleobject.txt de um bucket chamado examplebucket.
ossutil rm oss://examplebucket/exampleobject.txt -
Exclua todos os objetos com o prefixo "test" de um bucket chamado examplebucket.
ossutil rm oss://examplebucket/test -r -
Exclua todos os objetos com o sufixo ".png" de um bucket chamado examplebucket.
ossutil rm oss://examplebucket --include "*.png" -r -
Exclua objetos que contenham a string "abc" no nome e não possuam os sufixos ".jpg" ou ".txt" em um bucket chamado examplebucket.
ossutil rm oss://examplebucket --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r -
Exclua uma versão específica do objeto exampleobject.txt em um bucket com versionamento ativado chamado examplebucket.
ossutil rm oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****Para saber como obter todas as versões de um objeto, consulte ls.
-
Exclua todas as versões do objeto exampleobject.txt em um bucket com versionamento ativado chamado examplebucket.
ossutil rm oss://examplebucket/exampleobject.txt --all-versions -
Exclua todas as versões de todos os objetos de um bucket com versionamento ativado chamado examplebucket.
ossutil rm oss://examplebucket --all-versions -r
-
-
Saída de exemplo
Uma resposta de sucesso inclui a quantidade de objetos excluídos e o tempo gasto para concluir a operação:
Succeed: Total 8 objects. Removed 8 objects. 0.106852(s) elapsed
Excluir partes
O uso do comando rm com múltiplas opções para excluir partes aciona as operações ListMultipartUploads, ListParts e AbortMultipartUpload. Consequentemente, há cobrança de requisições GET durante as chamadas de ListMultipartUploads e ListParts, além de requisições PUT na chamada de AbortMultipartUpload. Para mais detalhes, consulte Taxas de requisição.
-
Exemplos
-
Use a opção -m no comando para excluir partes geradas por tarefas incompletas de upload multipart do objeto exampleobject.txt em um bucket chamado examplebucket.
ossutil rm -m oss://examplebucket/exampleobject.txt -
Combine as opções -m e -r no comando para excluir recursivamente as partes geradas por tarefas incompletas de upload multipart de objetos com o prefixo "test" em um bucket chamado examplebucket.
ossutil rm -m oss://examplebucket/test -r Do you really mean to remove recursively multipart uploadIds of oss://examplebucket/test(y or N)? y -
Utilize as opções -a e -r no comando para excluir recursivamente objetos com o prefixo "src" e as partes geradas por tarefas incompletas de upload multipart desses objetos em um bucket chamado examplebucket.
ossutil rm oss://examplebucket/src -a -r Do you really mean to remove recursively objects and multipart uploadIds of oss://examplebucket/src(y or N)? y
-
-
Resposta de exemplo
Uma resposta de sucesso apresenta o número de objetos excluídos, a quantidade de tarefas de upload multipart que geraram as partes removidas e o tempo total da operação:
Succeed: Total 1 objects, 3 uploadIds. Removed 1 objects, 3 uploadIds. 1.922915(s) elapsed
Excluir buckets
-
Exclua o bucket examplebucket, desde que não contenha objetos ou partes.
ossutil rm oss://examplebucket -b Do you really mean to remove the Bucket: examplebucket(y or N)? yUma resposta de sucesso mostra o nome do bucket excluído e o tempo decorrido para a exclusão:
Removed Bucket: examplebucket 2.230745(s) elapsed -
Exclua um bucket chamado examplebucket juntamente com todos os seus objetos e partes.
AvisoA execução do comando abaixo apaga permanentemente todos os dados do bucket, sem possibilidade de recuperação. Proceda com extrema cautela.
ossutil rm oss://examplebucket -b -a -r Do you really mean to remove recursively objects and multipart uploadIds of oss://examplebucket(y or N)? y Do you really mean to remove the Bucket: examplebucket(y or N)? yUma resposta de sucesso informa o total de objetos excluídos, a quantidade de tarefas de upload multipart que originaram as partes removidas, o nome do bucket excluído e o tempo total da operação:
Succeed: Total 189 objects, 37 uploadIds. Removed 189 objects, 37 uploadIds. Removed Bucket: examplebucket 9.184193(s) elapsed
Opções comuns
Para acessar um bucket em outra região, utilize -e para especificar o endpoint. Já para acessar um bucket pertencente a outra conta Alibaba Cloud, use -i para o AccessKey ID e -k para o AccessKey secret.
Por exemplo, execute o comando abaixo para excluir um objeto chamado exampletest.png de um bucket chamado testbucket, localizado na região China (Shanghai) e pertencente a outra conta Alibaba Cloud:
ossutil rm oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret