Supprimer les objets d’un bucket

Vous pouvez supprimer un ou plusieurs objets que vous avez déposés ou copiés sur un bucket.

Vous ne pouvez pas supprimer un objet si vous n’avez pas la permission write ou full-control sur le bucket qui contient l’objet. Pour en savoir plus, voir Référence des Access Control List (ACL).

Si vous avez activé le versioning sur votre bucket, vous devez spécifier l’attribut version-id de la version que vous voulez supprimer. Pour supprimer complètement un objet, vous devez supprimer toutes ses versions du bucket. Pour en savoir plus, voir Lister les versions d’un objet.

Supprimer les objets d’un bucket avec AWS CLI (s3api)

Supprimer un objet d’un bucket

Avant de commencer : Installez et configurez AWS CLI et définissez votre profil. Pour en savoir plus, voir Installer et configurer AWS CLI.

Pour supprimer un objet d’un bucket, utilisez la commande delete-object en suivant cette syntaxe :

Exemple de requête
$ aws s3api delete-object \
    --profile YOUR_PROFILE \
    --bucket BUCKET \
    --key OBJECT \
    --version-id A0VsEK0saANNAKcOAJj0aIA00RozToyq \
    --endpoint https://oos.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • (optionnel) profile : Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI.

  • bucket : Le nom du bucket duquel vous voulez supprimer un objet.

  • key : Le nom de l’objet dans le bucket.

  • (optionnel) version-id : Si le versioning du bucket a été activé au moins une fois, même s’il est désormais désactivé, l’ID de la version de l’objet que vous voulez supprimer.

    Si l’attribut version-id commence par un tiret ("-"), vous devez le spécifier en suivant cette syntaxe :

    --version-id=-A0VsEK0saANNAKcOAJj0aIA00RozToyq
  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

Si vous n’avez jamais activé le versioning du bucket, la commande delete-object ne renvoie aucun élément.

Si vous avez déjà activé le versioning du bucket au moins une fois, même si vous l’avez désactivé par la suite, la commande delete-object renvoie les éléments suivants :

  • VersionId : L’ID de la version de l’objet que vous avez supprimé.

  • DeleteMarker : Si vous avez supprimé un objet sans spécifier son ID de version, la création d’un delete marker (toujours true).

    Un delete marker remplace l’objet et n’a pas de données associées. Si plusieurs versions d’un même objet ont été créées en utilisant le versioning, vous devez supprimer chacune des versions spécifiques une par une avec leurs ID de versions pour complètement supprimer l’objet.

    Exemple de résultat
    {
        "VersionId": "IlkGwkYgCoITL6SNC5lpj2um8vNnDqD",
        "DeleteMarker": true
    }

Supprimer plusieurs objets d’un bucket

Pour supprimer plusieurs objets d’un bucket, utilisez la commande delete-objects en suivant cette syntaxe :

Exemple de requête
$ aws s3api delete-objects \
    --profile YOUR_PROFILE \
    --bucket BUCKET \
    --delete '{"Objects": [{"Key": "OBJECT_1"}, {"Key": "OBJECT_2", "VersionId": "B1WsEK0saANNAKcOAJj0aIA00RozTpzr"}], "Quiet": false}' \
    --endpoint https://oos.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • (optionnel) profile : Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI.

  • bucket : Le nom du bucket duquel vous voulez supprimer des objets.

  • delete : Informations à propos des objets que vous voulez supprimer. Cet élément contient les attributs suivants que vous devez spécifier :

    • Objects : La liste des objets que vous voulez supprimer.

      • Key : Les noms des objets dans le bucket.

        Vous pouvez spécifier jusqu’à 1000 keys.

      • (optionnel) VersionId : Si le bucket versioning était activé, même s’il ne l’est désormais plus, les ID de versions des objets que vous souhaitez supprimer.

      • (optionnel) quiet : Si true, ne renvoie que les keys des objets qui n’ont pas pu être supprimés.

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

Si vous n’avez jamais activé le versioning sur ce bucket, la commande delete-objects renvoie les éléments suivants :

  • Key : Les noms des objets que vous avez supprimés.

Exemple de résultat
{
    "Deleted": [
        {
            "Key": "OBJECT_1"
        },
        {
            "Key": "OBJECT_2"
        }
    ]
}

Si vous avez activé le versioning du bucket au moins une fois, même si vous l’avez désactivé par la suite, la commande delete-objects renvoie les éléments suivants :

  • Deleted : Informations à propos des objets que vous avez supprimés. Cet élément contient les informations suivantes :

    • Key : Les noms des objets que vous avez supprimés.

    • DeleteMarker : Si vous avez supprimé des objets sans spécifier leur ID de version, la création d’un delete marker (toujours true).

      Un delete marker remplace l’objet et n’a pas de données associées. Si plusieurs versions d’un même objet ont été créées en utilisant le versioning, vous devez supprimer chacune des versions spécifiques une par une avec leurs ID de versions pour complètement supprimer l’objet.

    • DeleteMarkerVersionId : Si le versioning du bucket est activé, les ID de versions des delete marker.

    • VersionID : Si vous avez spécifié les ID de versions des objets, les ID de versions des objets que vous avez supprimés.

Exemple de résultat
{
    "Deleted": [
        {
            "Key": "OBJECT_1",
            "DeleteMarker": true,
            "DeleteMarkerVersionId": "yCYmn.BwXmCViMvaCBrUz-eGUKwJK4r"
        },
        {
            "Key": "OBJECT_2",
            "VersionId": "B1WsEK0saANNAKcOAJj0aIA00RozTpzr"
        }
    ]
}

Supprimer les objets d’un bucket avec AWS CLI (s3)

Avant de commencer : Installez et configurez AWS CLI et définissez votre profil. Pour en savoir plus, voir Installer et configurer AWS CLI.

Vous pouvez effectuer cette action en utilisant une commande s3 suivant cette syntaxe :

Exemple de requête
$ aws s3 rm s3://YOUR_BUCKET/YOUR_OBJECT
    --profile YOUR_PROFILE
    --endpoint https://oos.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • s3://YOUR_BUCKET/YOUR_OBJECT : Le chemin vers l’objet que vous voulez supprimer du bucket.

    Vous pouvez spécifier le version ID d’un objet en suivant cette syntaxe : s3://YOUR_BUCKET/YOUR_OBJECT?versionID=<YOUR_VERSION_ID>.

  • (optionnel) profile : Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI.

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

Supprimer les objets d’un bucket avec s3cmd

Avant de commencer : Installez et configurez AWS CLI et définissez votre profil. Pour en savoir plus, voir Installer et configurer AWS CLI.

Vous pouvez gérer vos ressources de stockage objet en utilisant des commandes s3cmd. Pour en savoir plus, voir s3cmd.

Pages connexes

AWS™ et Amazon Web Services™ sont des marques de commerce d’Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.