État du service

Le service Object Storage Unit (OSU) est à présent en FIN DE SUPPORT ET MAINTENANCE. Pour en savoir plus, voir Politique de fin de vie.

Vous pouvez supprimer un ou plusieurs objets que vous avez uploadé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.

Cette fonctionnalité n'est pas disponible depuis Cockpit. Cette documentation décrit uniquement la procédure à l'aide d'AWS CLI. 

Les procédures suivantes sont disponibles : 

Supprimer un objet d'un bucket avec AWS CLI

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

    Exemple de requête
    $ aws s3api delete-object \
        --profile YOUR_PROFILE \
        --bucket BUCKET \
        --key OBJECT \
        --version-id A0VsEK0saANNAKcOAJj0aIA00RozToyq \
        --endpoint ENDPOINT

    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 Utiliser 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 suivant cette syntaxe :

      --version-id=-A0VsEK0saANNAKcOAJj0aIA00RozToyq
    • endpoint : Le endpoint correspondant au service (oos ou osu) et à la Région auxquels vous voulez envoyer la requête, selon le format suivant : https://<SERVICE>.<REGION>.outscale.com



    Si vous n'avez jamais activé le versioning du bucket, l'action ne renvoie aucun élément.

    Si vous avez activé le versioning du bucket au moins une fois, même si vous le désactivez 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). 
    Exemple de résultat
    {
        "VersionId": "IlkGwkYgCoITL6SNC5lpj2um8vNnDqD",
        "DeleteMarker": true
    } 


Supprimer plusieurs objets d'un bucket avec AWS CLI

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

    Exemple de requête
    $ aws s3api delete-objects \
        --profile YOUR_PROFILE \
        --bucket BUCKET \
        --delete Objects=[{Key=OBJECT_1},{Key=OBJECT_2}] \
        --endpoint ENDPOINT

    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 Utiliser 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 : Le nom de l'objet dans le bucket.
    • endpoint : Le endpoint correspondant au service (oos ou osu) et à la Région auxquels vous voulez envoyer la requête, selon le format suivant : https://<SERVICE>.<REGION>.outscale.com



    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 :
    • DeleteMarkerVersionId : Si le versioning du bucket est activé, le version ID du delete marker.
    • Key : Le nom 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
    {
        "Deleted": [
            {
                "DeleteMarkerVersionId": "yCYmn.BwXmCViMvaCBrUz-eGUKwJK4r",
                "Key": "OBJECT_1",
                "DeleteMarker": true
            },
            {
                "DeleteMarkerVersionId": "notageX0XA9YT1JJ.APH3ThQROTDftQ",
                "Key": "OBJECT_2",
                "DeleteMarker": true
            }
        ]
    }

     

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

      $ aws s3 rm --profile YOUR_PROFILE s3://YOUR_BUCKET/YOUR_OBJECT --endpoint ENDPOINT
    • Vous pouvez également gérer vos ressources de stockage objet en utilisant des commandes s3cmd. Pour en savoir plus, voir s3cmd (disponible en anglais uniquement).



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.