ECS: Como excluir um bucket do S3 com muitos objetos nele

Summary: Um bucket do S3 tem muitos objetos, mas deve ser excluído. Este artigo descreve como remover todos os objetos de um bucket e excluir o bucket por fim.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

AVISO: Este procedimento esvazia todos os objetos no bucket de destino. Os dados não podem ser recuperados, use com cuidado.


Limitações das operações abaixo:
  • Os objetos sob retenção do ECS não podem ser excluídos.
  • Os objetos na retenção de bloqueio de objeto não podem ser excluídos.
  • Os buckets habilitados para file system exigem a versão 3.8.1 ou posterior. 

Opção recomendada: Versão 3.8 ou posterior:
Na versão 3.8 do software ECS, a Dell introduziu a exclusão simplificada de bucketsAgora, os objetos e o bucket podem ser excluídos usando a API REST ou uma string S3 de bucket vazia usando x-emc-headers. A Dell Technologies recomenda o upgrade para a versão 3.8. E usando a exclusão simplificada de bucket ao longo da exclusão do ciclo de vida.

Usando a "exclusão simplificada de bucket" usando a IU do ECS (requer 3.8.1.0 ou posterior)
A versão 3.8.1.x e posterior permite a exclusão do bucket com conteúdo da interface do usuário do ECS com as permissões apropriadas. Navegue até o bucket e selecione delete no menu suspenso. Selecione Delete ENTIRE content, incluindo o bucket selecionado, e confirme. 

Usando a

Usando a exclusão simplificada de bucket usando a API REST.
Consulte o Guia da API REST mais recente para referência.

Usando a

Exemplo para enviar a chamada da API REST usando curl do ECS:

Comando:

# curl -k -H "$token" -X POST https://<hostname-or-ip>:4443/object/bucket/<bucketname>/deactivate?namespace=<namespace>\&emptyBucket=true

Exemplo:

curl -v -k -H "$token" -X POST https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/deactivate?namespace=b_mathias_ns\&emptyBucket=true

Para monitorar:

Para monitorar a exclusão do bucket

Comando:

# curl -k -H "$token" -X GET https://<hostname-or-ip>:4443/object/bucket/<bucketname>/empty-bucket-status?namespace=<namespace> |xmllint --format -

Exemplo:

Started:
mathias@client:/usr/share/s3curl$ curl -k -H "$token" -X GET https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/empty-bucket-status?namespace=b_mathias_ns |xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<empty_bucket_status>
  <status>PENDING</status>
  <created>1707411798889</created>
  <last_updated>1707411798889</last_updated>
  <entries_deleted>0</entries_deleted>
  <failed_to_delete_due_to_retention>0</failed_to_delete_due_to_retention>
  <failed_to_delete_due_to_permission>0</failed_to_delete_due_to_permission>
  <failed_to_delete_due_to_dangling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
  <failed_to_delete_due_to_other>0</failed_to_delete_due_to_other>
  <message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</empty_bucket_status>

Running:
mathias@client:/usr/share/s3curl$ curl -k -H "$token" -X GET https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/empty-bucket-status?namespace=b_mathias_ns |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   629  100   629    0     0   2431      0 --:--:-- --:--:-- --:--:--  2437
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<empty_bucket_status>
  <status>IN_PROGRESS</status>
  <created>1707411798889</created>
  <last_updated>1707411828897</last_updated>
  <entries_deleted>1337</entries_deleted>
  <failed_to_delete_due_to_retention>0</failed_to_delete_due_to_retention>
  <failed_to_delete_due_to_permission>0</failed_to_delete_due_to_permission>
  <failed_to_delete_due_to_dangling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
  <failed_to_delete_due_to_other>0</failed_to_delete_due_to_other>
  <message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</empty_bucket_status>

Completed:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
  <code>1004</code>
  <description>Request parameter cannot be found</description>
  <details>Unable to find entity with the given id ExampleBucketRest</details>
  <retryable>false</retryable>
</error>

O erro acima é esperado, pois o bucket não é mais encontrado.

Usando a exclusão simplificada de bucket usando o S3:

  1. Consulte o guia de acesso aos dados mais recente para obter mais detalhes.
  2. Consulte a v3.8 Guia de acesso aos dados.

Usando a  

A maneira mais rápida de resolver um bucket com essa opção é s3curl.
 

Aviso: o s3curl já está instalado nos nós do ECS, mas não deve ser usado para essa operação. A coluna x-emc headers não estão totalmente funcionais no momento.
 
s3curl está disponível no GitHub para instalações locais. Esta versão é usada para incluir x-emc-headers https://github.com/EMCECS/s3curl/blob/master/s3curl.pl Esse hiperlink direcionará você para um site fora da Dell Technologies.

A versão modificada do s3curl.pl está planejado para ser adicionado ao código ECS em uma versão futura e este KB é atualizado.

No s3curl Se estiver configurado, prossiga com as etapas a seguir. Lembre-se de que os dados não podem ser recuperados!
  1. Iniciar uma exclusão simplificada de bucket usando s3curl:
Comando:
./s3curl --id=<alias> --DELETE -- http://<hostname-or-ip>:9020/<bucketname> -H "x-emc-empty-bucket:true"

Exemplo:

mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam --DELETE -- http://10.60.x.xx:9020/ExampleBucket -H "x-emc-empty-bucket:true"

Exclusão do bucket do monitor:

./s3curl.pl --id=<alias> http://<hostname-or-ip>:9020/<bucketname>?empty-bucket-status |xmllint --format -

Exemplo:

mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam -- http://10.60.x.xx:9020/ExampleBucket?empty-bucket-status |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   474  100   474    0     0   3128      0 --:--:-- --:--:-- --:--:--  3139
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<EmptyBucketStatus xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Status>PENDING</Status>
  <Created>2024-02-08T16:21:53.849Z</Created>
  <LastUpdated>2024-02-08T16:21:53.849Z</LastUpdated>
  <EntriesDeleted>0</EntriesDeleted>
  <FailedToDeleteDueToRetention>0</FailedToDeleteDueToRetention>
  <FailedToDeleteDueToPermission>0</FailedToDeleteDueToPermission>
  <FailedToDeleteDueToOther>0</FailedToDeleteDueToOther>

Running:
mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam -- http://10.60.x.xx:9020/ExampleBucket?empty-bucket-status |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   478  100   478    0     0   3883      0 --:--:-- --:--:-- --:--:--  3886
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<EmptyBucketStatus xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Status>IN_PROGRESS</Status>
  <Created>2024-02-08T16:21:53.849Z</Created>
  <LastUpdated>2024-02-08T16:22:23.899Z</LastUpdated>
  <EntriesDeleted>1304</EntriesDeleted>
  <FailedToDeleteDueToRetention>0</FailedToDeleteDueToRetention>
  <FailedToDeleteDueToPermission>0</FailedToDeleteDueToPermission>
  <FailedToDeleteDueToOther>0</FailedToDeleteDueToOther>
</EmptyBucketStatus>

Completed:
mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam -- http://10.60.x.xx:9020/ExampleBucket?empty-bucket-status |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   180    0   180    0     0   1300      0 --:--:-- --:--:-- --:--:--  1304
<?xml version="1.0"?>
<Error>
  <Code>NoSuchBucket</Code>
  <Message>The specified bucket does not exist</Message>
  <Resource>ExampleBucket</Resource>
  <RequestId>0a3c0812:18d77e3a715:2d7:1f33</RequestId>
</Error>


Para versões de código anteriores à 3.8, faça upgrade para disponibilidade das opções acima.

Affected Products

ECS Appliance

Products

ECS Appliance
Article Properties
Article Number: 000014767
Article Type: How To
Last Modified: 21 Aug 2025
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.