Supprimer des objets sur S3
... / Supprimer des objets sur S3
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Supprimer des objets sur S3

by
DanielU
Created on 2024-10-24 09:26:05 (edited on 2024-11-18 11:02:34) in Object Storage-old

Bonjour,

Si je souhaite supprimer des objets sur un bucket S3 qui correspond à un motif donné. par exemple je souhaite supprimer des objets contenant la date 20241022

y a til moyen de le faire? je ne trouves pas d'informations sur la doc ovh.

Exemple:
s3://bukcet_name/rep1/{file1,file2,file3,file4,file5}-20241022
s3://bukcet_name/rep1/{file1,file2,file3,file4,file5}-20241023

Merci de votre retour


1 Reply ( Latest reply on 2026-01-14 15:32:20 by
mralexandrelise
)

Bonjour,

Je sais que ça fait 2 ans plus tard (on est en 2026 à l'heure ou j'écris cette réponse), mais je pense pouvoir aider quelqu'un en tout cas au moins mettre sur la bonne piste.

Récemment, OVHcloud à créé un outil en ligne de commande en go appelé ovhcloud qui permets de piloter et gérer quasiment tout ce que fait le manager y compris storage-s3. L'outil est ici https://github.com/ovh/ovhcloud-cli

Une fois installé et configuré, il faut taper les commandes suivantes:

ATTENTION: Comprenez bien ce que ça fait et faite une sauvegarde pour éviter de malencontreusement perdre vos données précieuses.

Toujours là?

Poursuivons:

ovhcloud  cloud storage-s3 object list  bucket_name --format key \

   | sort -u \

   | grep -E '(file(?:[1-5])\-20241022)'  \

   | xargs -I{} ovhcloud  cloud storage-s3 object delete bucket_name {}

 

et pour l'autre c'est le même principe. Le motif à mettre correspond au nom de l'élément dans le bucket.

ovhcloud  cloud storage-s3 object list  bucket_name --format key \

   | sort -u \

   | grep -E '(file(?:[1-5])\-20241023)'   \

   | xargs -I{} ovhcloud  cloud storage-s3 object delete bucket_name {}

   

  1. En gros on liste par clé seulement
  2. On trie sans doublons
  3. On filtre par le motif voulu grâce aux expressions régulières de grep -E (Regex Etendues)
  4. On utilise xargs pour envoyer chaque ligne dans le commande de suppression

On peut sûrement améliorer mais c'est ça l'idée. Chaque outil fait sa partie. La philosophie UNIX quoi...

Passez une agréable journée et encore bonne année 2026.

A bientôt dans la communauté Ovhcloud...

Bonjour,

Je sais que ça fait 2 ans plus tard (on est en 2026 à l'heure ou j'écris cette réponse), mais je pense pouvoir aider quelqu'un en tout cas au moins mettre sur la bonne piste.

Récemment, OVHcloud à créé un outil en ligne de commande en go appelé ovhcloud qui permets de piloter et gérer quasiment tout ce que fait le manager y compris storage-s3. L'outil est ici https://github.com/ovh/ovhcloud-cli

Une fois installé et configuré, il faut taper les commandes suivantes:

ATTENTION: Comprenez bien ce que ça fait et faite une sauvegarde pour éviter de malencontreusement perdre vos données précieuses.

Toujours là?

Poursuivons:

ovhcloud  cloud storage-s3 object list  bucket_name --format key \

   | sort -u \

   | grep -E '(file(?:[1-5])\-20241022)'  \

   | xargs -I{} ovhcloud  cloud storage-s3 object delete bucket_name {}

 

et pour l'autre c'est le même principe. Le motif à mettre correspond au nom de l'élément dans le bucket.

ovhcloud  cloud storage-s3 object list  bucket_name --format key \

   | sort -u \

   | grep -E '(file(?:[1-5])\-20241023)'   \

   | xargs -I{} ovhcloud  cloud storage-s3 object delete bucket_name {}

   

En gros on liste par clé seulement
On trie sans doublons
On filtre par le motif voulu grâce aux expressions régulières de grep -E (Regex Etendues)
On utilise xargs pour envoyer chaque ligne dans le commande de suppression

On peut sûrement améliorer mais c'est ça l'idée. Chaque outil fait sa partie. La philosophie UNIX quoi...

Passez une agréable journée et encore bonne année 2026.