Nesta página, você aprenderá como excluir objetos em buckets do Cloud Storage. Para uma visão geral dos métodos de exclusão de objetos, consulte Sobre a exclusão de objetos.
Funções exigidas
Para receber as permissões necessárias para excluir objetos, peça ao administrador que conceda a você os seguintes papéis do IAM no bucket que contém os objetos que você quer excluir:
-
Exclua objetos usando a Google Cloud CLI ou as APIs REST:
Usuário de objetos do Storage (
roles/storage.objectUser) -
Exclua objetos usando o console Google Cloud :
Administrador do Storage (
roles/storage.admin) -
Outra opção é excluir objetos usando o console Google Cloud :
Leitor (
roles/viewer) e Usuário de objetos do Storage (roles/storage.objectUser)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para excluir objetos. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para excluir objetos:
-
Excluir objetos:
storage.objects.delete -
Liste objetos usando o console Google Cloud ou a flag
--recursiveou caracteres curinga na Google Cloud CLI:storage.objects.list -
Liste os buckets usando o console do Google Cloud :
storage.buckets.list
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Excluir um único objeto
Esta seção mostra como excluir um objeto por vez.
Siga estas etapas para excluir um único objeto:
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele que contém os objetos que você quer excluir.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Navegue até o objeto, que pode estar localizado em uma pasta.
Marque a caixa de seleção do objeto que você quer excluir.
Clique em Excluir e, em seguida, clique em Excluir na caixa de diálogo exibida.
Linha de comando
Use o comando gcloud storage rm da Google Cloud CLI:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
Em que:
BUCKET_NAMEé o nome do bucket que contém o objeto que você quer excluir. Por exemplo,my-bucket.OBJECT_NAMEé o nome do objeto que você quer excluir. Por exemplo,pets/dog.png.
Se a operação for bem-sucedida, a resposta será semelhante a esta:
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/1
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Rust
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization.Use
curlpara chamar a API JSON com uma solicitaçãoDELETE:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Em que:
BUCKET_NAMEé o nome do bucket que contém o objeto que você quer excluir. Por exemplo,my-bucket.OBJECT_NAMEé o nome codificado por URL do objeto que você quer excluir. Por exemplo,pets/dog.png, codificado por URL comopets%2Fdog.png.
API XML
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization.Use
curl(em inglês) para chamar a API XML com uma solicitaçãoDELETE Object:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Em que:
BUCKET_NAMEé o nome do bucket que contém o objeto que você quer excluir. Por exemplo,my-bucket.OBJECT_NAMEé o nome codificado por URL do objeto que você quer excluir. Por exemplo,pets/dog.png, codificado por URL comopets%2Fdog.png.
Excluir objetos em massa
Esta seção mostra como excluir objetos em massa selecionando-os no consoleGoogle Cloud , excluindo objetos com um prefixo comum usando ferramentas de linha de comando ou especificando uma lista de objetos em solicitações de API ou biblioteca de cliente.
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele que contém os objetos que você quer excluir.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Navegue até o objeto, que pode estar localizado em uma pasta.
Marque a caixa de seleção de cada objeto que você quer excluir.
Você pode marcar a caixa de seleção de uma pasta, o que exclui todos os objetos contidos nela.
Clique em Excluir e, em seguida, clique em Excluir na caixa de diálogo exibida.
Se você excluir muitos objetos de uma vez, poderá acompanhar o progresso da exclusão clicando no ícone Notificações no console do Google Cloud . O consoleGoogle Cloud pode excluir em massa até vários milhões de objetos e faz isso em segundo plano.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no Google Cloud console, consulte Solução de problemas.
Linha de comando
CLI do Google Cloud
Para excluir grupos de objetos que possuem o mesmo prefixo, como objetos cujos nomesimitar uma estrutura de pastas, use o--recursive bandeira comgcloud storage rm:
gcloud storage rm --recursive gs://BUCKET_NAME/PREFIX
Em que:
BUCKET_NAMEé o nome do bucket. Por exemplo,my-bucket.PREFIXé um prefixo comum dos objetos que você deseja excluir. Por exemplo,pets/.
CLI do Amazon S3
Para excluir vários objetos no Cloud Storage usando a CLI do Amazon S3, use o comando aws s3api delete-objects. Você precisará redirecionar a solicitação para a API XML de exclusão de vários objetos do Cloud Storage definindo o sinalizador --endpoint-url para storage.googleapis.com. Para ver definições detalhadas de parâmetros e o comportamento da API delete-objects, consulte a documentação de referência do comando delete-objects da CLI do Amazon S3.
Bibliotecas de cliente
O Cloud Storage suporta a API XML de exclusão de múltiplos objetos por meio de sua interface compatível com o Amazon S3.
Para usar bibliotecas de cliente compatíveis com o Amazon S3 para exclusão em massa de objetos, direcione sua solicitação para o endpoint Google Cloud definindo o URL do endpoint como https://storage.googleapis.com na configuração do cliente. Essa abordagem pode ser útil se você estiver realizando uma das seguintes tarefas:
- Aproveitar bases de código ou ferramentas já existentes, desenvolvidas para o Amazon S3.
- Manter a consistência em ambientes multicloud que incluem o Amazon S3 e o Cloud Storage.
O exemplo a seguir mostra como inicializar um cliente usando uma biblioteca Boto3 para interagir com o Cloud Storage:
import boto3
def main():
# Initialize the S3 client to point to the Google Cloud Storage endpoint
client = boto3.client(
service_name='s3',
endpoint_url='https://storage.googleapis.com',
aws_access_key_id='YOUR_ACCESS_ID',
aws_secret_access_key='YOUR_SECRET',
)
# Perform delete operations as defined in the library's documentation
# response = client.delete_objects(Bucket='BUCKET_NAME', Delete={'Objects': [...]})
Para ver assinaturas de métodos e definições de parâmetros específicos, consulte a documentação do delete_objects Boto3.
API XML
Para excluir até 1.000 objetos em uma única solicitação usando a API XML, siga estas etapas:
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization.Crie um documento XML que especifique os objetos a serem excluídos.
Para obter uma lista completa de configurações, consulte Excluir vários objetos na documentação de referência da API XML. As configurações comuns a serem incluídas no arquivo XML são as seguintes:
<Delete> <Object> <Key>OBJECT_NAME</Key> <VersionId>VERSION_ID</VersionId> </Object> ... <Quiet>QUIET_RESPONSE_BOOLEAN</Quiet> </Delete>Em que:
OBJECT_NAMEé o nome codificado por URL do objeto. Por exemplo,pets/dog.png, codificado em URL comopets%2Fdog.png. É possível especificar até 1.000 objetos no arquivo XML.VERSION_IDé o ID da versão do objeto. Por exemplo,11111.QUIET_RESPONSE_BOOLEANcontrola o nível de detalhamento da resposta da API:- Defina como
Falsepara uma resposta detalhada. A resposta inclui detalhes de todos os objetos, sejam eles excluídos ou não. A operação de exclusão de vários objetos usando a API XML não é atômica. Se uma solicitação resultar em falhas parciais, alguns objetos poderão ser excluídos, mas outros não. Por isso, recomendamos usar a resposta detalhada para identificar todas as exclusões de objetos. Se você tiver os registros de auditoria de acesso a dados ativados, também poderá analisar os registros de auditoria para ver detalhes de falha. - Defina como
Truepara uma resposta silenciosa. O corpo da resposta não inclui informações sobre os objetos que foram excluídos.
- Defina como
Usar
curlpara enviar umPOSTbalde pedido aoAPI XML com o?deleteparâmetro de consulta e seu arquivo XML:curl -X POST --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?delete"
Em que:
XML_FILE_NAMEé o nome do arquivo XML que você criou.BUCKET_NAMEé o nome do bucket que contém os objetos a serem excluídos.Se o modo
Quietestiver desativado, uma resposta detalhada poderá ser semelhante a esta:<DeleteResult> <Deleted> <Key>images/photo1.jpg</Key> <VersionId>11111</VersionId> </Deleted> <Deleted> <Key>documents/report.pdf</Key> <VersionId>22222</VersionId> </Deleted> <Error> <Code>AccessDenied</Code> <Key>private/financial_data.xlsx</Key> <Message>Access Denied. You don't have permission to delete this object.</Message> <VersionId>33333</VersionId> </Error> </DeleteResult>
Se o modo
Quietestiver ativado, a resposta vai listar apenas os objetos que não foram excluídos. Se todos os objetos forem excluídos, uma tag<DeleteResult/>vazia será retornada. Segue abaixo um exemplo de uma resposta silenciosa onde ocorreu um erro:<DeleteResult> <Error> <Code>AccessDenied</Code> <Key>private/financial_data.xlsx</Key> <Message>Access Denied. You don't have permission to delete this object.</Message> <VersionId>33333</VersionId> </Error> </DeleteResult>
Excluir até bilhões de objetos
Para excluir milhões ou bilhões de objetos com um único job de exclusão, use as operações em lote do Storage. Para criar um job, especifique os objetos a serem excluídos, fornecendo uma lista de objetos em um arquivo de manifesto ou usando prefixos de objeto. Depois de especificar a lista de objetos, crie um job de operação em lote para excluir os objetos.
Excluir objetos automaticamente usando regras de ciclo de vida de objetos
Se você quiser que os objetos sejam excluídos automaticamente quando atenderem aos critérios especificados, como idade ou classe de armazenamento, use o Gerenciamento do ciclo de vida de objetos. Por exemplo, é possível definir uma regra de ciclo de vida para excluir registros com mais de 30 dias.
Solicitações de exclusão de objetos em lote com a API JSON
Para reduzir o número de conexões HTTP necessárias ao excluir muitos objetos com a API JSON, use solicitações em lote da API JSON. É possível agrupar até 100 chamadas de API em uma única solicitação HTTP para reduzir a sobrecarga da rede.
A seguir
- Saiba como restaurar objetos excluídos de maneira reversível se você excluiu um objeto por engano.
- Se você usar Versionamento de Objeto, entenda que excluir um objeto pode torná-lo não atual em vez de excluí-lo permanentemente. Aprenda como gerenciar ou excluir permanentemente versões não atuais.
- Configure o Gerenciamento do ciclo de vida de objetos para automatizar futuras exclusões de objetos.
- Exclua um bucket se não precisar mais dele.