ECS: Een S3-bucket verwijderen met veel objecten erin
Summary: Een S3-bucket bevat veel objecten, maar moet worden verwijderd. In dit artikel wordt beschreven hoe u alle objecten uit een bucket verwijdert en de bucket definitief verwijdert.
Instructions
Beperkingen voor onderstaande bewerkingen:
- Objecten onder ECS-retentie kunnen niet worden verwijderd.
- Objecten onder Object Lock retentie kunnen niet worden verwijderd.
- Voor buckets met ingeschakeld bestandssysteem is versie 3.8.1 of hoger vereist.
Aanbevolen optie: Versie 3.8 of hoger:
In versie 3.8 van ECS Software introduceerde Dell de vereenvoudigde bucket delete. Nu kunnen objecten en de bucket worden verwijderd met behulp van de REST API of een lege bucket S3-tekenreeks met behulp van x-emc-headers. Dell Technologies raadt aan om te upgraden naar 3.8. en met behulp van de vereenvoudigde bucket delete over life cycle delete.
De vereenvoudigde bucket delete gebruiken met behulp van de ECS-gebruikersinterface (vereist 3.8.1.0 of hoger)
Met versie 3.8.1.x en hoger kunt u de bucket met inhoud uit de ECS-gebruikersinterface verwijderen met de juiste machtigingen. Blader naar de bucket en selecteer verwijderen in de vervolgkeuzelijst. Selecteer VOLLEDIGE inhoud verwijderen, inclusief de geselecteerde bucket en bevestig.

Met behulp van de vereenvoudigde bucketverwijdering met behulp van REST API.
Raadpleeg de meest recente REST API-handleiding ter referentie.

Voorbeeld van het verzenden van de rest API-aanroep met curl van ECS:
Opdracht:
# curl -k -H "$token" -X POST https://<hostname-or-ip>:4443/object/bucket/<bucketname>/deactivate?namespace=<namespace>\&emptyBucket=true
Voorbeeld:
curl -v -k -H "$token" -X POST https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/deactivate?namespace=b_mathias_ns\&emptyBucket=true
U kunt het volgende controleren:

Opdracht:
# curl -k -H "$token" -X GET https://<hostname-or-ip>:4443/object/bucket/<bucketname>/empty-bucket-status?namespace=<namespace> |xmllint --format -
Voorbeeld:
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>
De bovenstaande fout is te verwachten omdat de bucket niet meer wordt gevonden.
Met behulp van de vereenvoudigde bucket delete met S3:
- Raadpleeg de meest recente gids voor datatoegang voor meer informatie.
- Zie v3.8 Data Access Guide.
De snelste manier om een emmer met deze optie aan te pakken is door s3curl.
x-emc headers zijn op dit moment niet volledig functioneel.
s3curl is beschikbaar op GitHub voor lokale installaties. Deze versie wordt gebruikt voor het opnemen van x-emc-headers https://github.com/EMCECS/s3curl/blob/master/s3curl.pl De gewijzigde versie van
s3curl.pl is gepland om in een toekomstige versie aan ECS-code te worden toegevoegd en deze KB wordt bijgewerkt.
Wanneer
s3curl is geconfigureerd, gaat u verder met de volgende stappen. Houd er rekening mee dat gegevens niet kunnen worden hersteld!
- Een vereenvoudigde bucketverwijdering starten met behulp van
s3curl:
./s3curl --id=<alias> --DELETE -- http://<hostname-or-ip>:9020/<bucketname> -H "x-emc-empty-bucket:true"
Voorbeeld:
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"
Monitor Bucket Delete:
./s3curl.pl --id=<alias> http://<hostname-or-ip>:9020/<bucketname>?empty-bucket-status |xmllint --format -
Voorbeeld:
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>
Voor codeversies ouder dan 3.8 moet u upgraden voor beschikbaarheid van de bovenstaande opties.