Lister les versions d’un objet

Vous pouvez lister la version actuelle et les versions précédentes d’un objet que vous avez déposé ou copié dans votre bucket. Cette action renvoie également des informations à propos du propriétaire de l’objet et de la date et l’heure de chaque version.

Vous pouvez télécharger n’importe quelle version d’un objet. Ces versions sont disponibles si vous avez activé le versioning du bucket. Vous pouvez toujours télécharger n’importe quelle version d’un objet après avoir désactivé le versioning du bucket. Pour en savoir plus, voir Activer ou désactiver le versioning d’un bucket.

Si vous supprimez un objet sans spécifier son ID de version alors que le versioning du bucket a été activé, un delete marker est créé. Pour en savoir plus, voir Supprimer les objets d’un bucket.

Lister les versions d’un objet avec AWS CLI

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

Pour lister les différentes versions d’un objet, utilisez la commande list-object-versions suivant cette syntaxe :

Exemple de requête
$ aws s3api list-object-versions \
    --profile YOUR_PROFILE \
    --bucket BUCKET \
    [--key NOT_SPECIFIED] \
    --prefix PREFIX/OBJECT \
    [--delimiter NOT_SPECIFIED] \
    --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 de votre bucket.

  • (optionnel) key : Le nom de l’objet.

  • (optionnel) prefix : Une lettre ou une chaîne de caractères pour filtrer vos objets. Cet attribut renvoie les objets qui commencent avec la lettre ou la chaîne de caractères que vous spécifiez.

  • (optionnel) delimiter : Une lettre pour filtrer vos objets. Cet attribut exclut les objets qui contiennent ou qui commencent par la lettre que vous spécifiez.

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

La commande list-object-versions renvoie les éléments suivants :

  • Name : Le nom du bucket.

  • Versions : Informations à propos des versions d’un objet. Cet élément contient les informations suivantes :

    • LastModified : La date et l’heure à laquelle l’objet a été déposé ou copié.

    • VersionId : L’ID d’une version précédente ou de la version actuelle de l’objet.

    • ETag : L’ETag de l’objet.

    • StorageClass : La classe de stockage de l’objet (toujours STANDARD).

    • Key : Le nom de l’objet.

    • Owner : Informations à propos du propriétaire de l’objet. Cet élément contient les informations suivantes :

      • DisplayName : L’ID du compte OUTSCALE du propriétaire de l’objet.

      • ID : L’ID utilisateur S3 du propriétaire de l’objet.

    • IsLatest : Si l’objet est la version actuelle ou non (true | false).

    • Size : La taille de l’objet, en octets.

  • Prefix : Le préfixe que vous avez spécifié.

  • MaxKeys : Le nombre de clés retournées par la commande (par défaut, 1000).

  • Delimiter : Le délimiteur que vous avez spécifié.

  • KeyMarker : La clé que vous avez spécifiée.

  • DeleteMarkers : Informations à propos des delete markers. Cet élément contient les informations suivantes :

    • Owner : Informations à propos du propriétaire de l’objet. Cet élément contient les informations suivantes :

      • DisplayName : L’ID du compte OUTSCALE du propriétaire de l’objet.

      • ID : L’ID utilisateur S3 du propriétaire de l’objet.

    • IsLatest : Si l’objet est la version actuelle ou non (true | false).

    • Size : La taille de l’objet, en octets.

    • Key : Le nom de l’objet.

    • LastModified : La date et l’heure à laquelle l’objet a été déposé ou copié.

  • IsTruncated : Si le résultat est tronqué (true | false).

  • CommonPrefixes : Informations à propos des common prefixes. Cet élément contient les informations suivantes :

    • Prefix : La chaîne de caractères formée par le préfixe suivi du délimiteur. Pour en savoir plus, voir À propos d’OOS > Objets.

Exemple de résultat
{
    "Name": "BUCKET",
    "Versions": [
        {
            "LastModified": "2017-05-02T13:59:23.714Z",
            "VersionId": "7395H3JvbAV16lq1tBbxUbtaJ7K4PCP",
            "ETag": "\"93494ed0663d6a689b5e1f90d9e29d41\"",
            "StorageClass": "STANDARD",
            "Key": "PREFIX/OBJECT_1",
            "Owner": {
                "DisplayName": "ACCOUNT_ID",
                "ID": "USER_ID"
            },
            "IsLatest": true,
            "Size": 42
        },
        {
            "LastModified": "2017-05-02T13:59:33.643Z",
            "VersionId": "hYamlBeJKxeixLh5SOG6li7FhdYeqhv",
            "ETag": "\"a9e872119bfa18db39ed9207c3c5b81f\"",
            "StorageClass": "STANDARD",
            "Key": "PREFIX/OBJECT_2",
            "Owner": {
                "DisplayName": "ACCOUNT_ID",
                "ID": "USER_ID"
            },
            "IsLatest": true,
            "Size": 20
        },
        {
            "LastModified": "2017-05-02T13:59:42.032Z",
            "VersionId": "EB-pqyVSnVrbF2uv0.Mm1kS7OOvBZz5",
            "ETag": "\"727479ef7cedf30c03459bec7d87b0f0\"",
            "StorageClass": "STANDARD",
            "Key": "PREFIX/OBJECT_3",
            "Owner": {
                "DisplayName": "ACCOUNT_ID",
                "ID": "USER_ID"
            },
            "IsLatest": false,
            "Size": 5
        }
    ],
    "Prefix": "PREFIX/OBJECT",
    "MaxKeys": 1000,
    "Delimiter": "/",
    "KeyMarker": "/",
    "DeleteMarkers": [
        {
            "Owner": {
                "DisplayName": "ACCOUNT_ID",
                "ID": "USER_ID"
            },
            "IsLatest": true,
            "VersionId": "gO.3oj9gKafUhoMzP77RDU-NYg4EkG7",
            "Key": "PREFIX/OBJECT_4",
            "LastModified": "2017-05-02T14:09:03.047Z"
        }
    ],
    "IsTruncated": false,
    "CommonPrefixes": [
        {
            "Prefix": "PREFIX/OBJECT"
        }
    ]
}

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.