Tous les produits
Search
Centre de documentation

Object Storage Service:ListBucketInventory

Dernière mise à jour :Aug 18, 2026

L'opération ListBucketInventory répertorie toutes les configurations d'inventaire d'un bucket.

Remarques sur l'utilisation

L'appel de l'opération ListBucketInventory nécessite l'autorisation oss:GetBucketInventory. Pour plus d'informations, consultez la rubrique Accorder des politiques d'autorisation personnalisées à un utilisateur RAM.

Remarque
  • Une seule requête permet de récupérer au maximum 100 configurations d'inventaire. Si la réponse est tronquée, utilisez la valeur NextContinuationToken renvoyée comme paramètre continuation-token dans votre requête suivante pour obtenir la page de résultats suivante.

  • Vérifiez que vous disposez des autorisations nécessaires pour gérer les configurations d'inventaire du bucket. Par défaut, seul le propriétaire du bucket détient cette autorisation. Si vous n'êtes pas le propriétaire, demandez l'autorisation requise.

Syntaxe de la requête

  • Avec le paramètre continuation-token

    GET /?inventory&continuation-token=xxx HTTP/1.1
  • Sans le paramètre continuation-token

    GET /?inventory HTTP/1.1

Éléments de la réponse

Paramètre

Type

Description

InventoryConfiguration

container

Conteneur regroupant les paramètres de configuration de l'inventaire.

IsTruncated

Boolean

Indique si la liste des configurations d'inventaire est tronquée.

Valeurs valides : true ou false

  • Si la valeur est false, toutes les configurations d'inventaire du bucket sont répertoriées.

  • Si la valeur est true, la liste est tronquée. Utilisez NextContinuationToken pour récupérer la page de résultats suivante.

NextContinuationToken

String

Si la réponse est tronquée (IsTruncated a la valeur true), utilisez ce jeton dans le paramètre continuation-token de votre requête suivante pour obtenir la page de résultats suivante.

Id

String

Nom spécifié par l'utilisateur pour la configuration d'inventaire. Le nom doit être unique au sein du bucket.

IsEnabled

Boolean

Indique si l'inventaire est activé.

Valeurs valides : true ou false

  • Si la valeur est true, l'inventaire est activé.

  • Si la valeur est false, aucun inventaire n'est généré.

Filter

container

Conteneur pour les règles de filtrage. L'inventaire inclut uniquement les objets correspondant au filtre.

Prefix

String

Préfixe d'objet utilisé pour le filtrage.

Nœud parent : Filter

Destination

container

Conteneur contenant les informations sur l'emplacement de publication des résultats de l'inventaire.

OSSBucketDestination

container

Contient les détails du bucket de destination où le rapport d'inventaire est stocké.

Nœud parent : Destination

Format

String

Format de fichier de l'inventaire exporté.

Valeur valide : CSV

Nœud parent : OSSBucketDestination

AccountId

String

ID du compte autorisé à écrire le rapport d'inventaire dans le bucket de destination.

Nœud parent : OSSBucketDestination

RoleArn

String

ARN du rôle autorisé à écrire le rapport d'inventaire dans le bucket de destination.

Format : acs:ram::uid:role/rolename

Nœud parent : OSSBucketDestination

Bucket

String

Bucket de destination du rapport d'inventaire.

Nœud parent : OSSBucketDestination

Prefix

String

Préfixe au sein du bucket de destination où le rapport d'inventaire est stocké.

Nœud parent : OSSBucketDestination

Encryption

container

Méthode de chiffrement côté serveur pour le rapport d'inventaire.

Valeurs valides : SSE-OSS, SSE-KMS ou Null

Nœud parent : OSSBucketDestination

SSE-OSS

container

Conteneur pour le chiffrement SSE-OSS.

Nœud parent : Encryption

SSE-KMS

container

Conteneur pour la clé utilisée pour le chiffrement SSE-KMS.

Nœud parent : Encryption

KeyId

String

ID de la clé KMS.

Nœud parent : SSE-KMS

Schedule

container

Conteneur pour la planification de l'exportation de l'inventaire.

Frequency

String

Fréquence d'exportation de l'inventaire.

Valeurs valides : Daily, Weekly, Monthly ou Once

Nœud parent : Schedule

DayOfMonth

Integer

Jour du mois auquel exporter l'inventaire lorsque Frequency est défini sur Monthly. Valeurs valides : 1 à 31.

Nœud parent : Schedule

AutoDelete

Boolean

Indique s'il faut supprimer automatiquement la configuration d'inventaire après l'exportation d'un inventaire ponctuel. Cet élément est valide uniquement lorsque Frequency est défini sur Once.

Valeurs valides : true, false

Nœud parent : Schedule

IncludedObjectVersions

String

Spécifie les versions d'objets à inclure dans l'inventaire.

Valeurs valides : All ou Current

  • Si la valeur est All, toutes les versions des objets sont exportées.

  • Si la valeur est Current, seules les versions actuelles des objets sont exportées.

OptionalFields

container

Conteneur pour les champs facultatifs à inclure dans l'inventaire.

Field

container

Champs facultatifs à inclure dans l'inventaire.

Les champs facultatifs incluent : Size, LastModifiedDate, TransitionTime, ETag, StorageClass, IsMultipartUploaded, EncryptionStatus, ObjectAcl, TaggingCount, ObjectType et Crc64

Nœud parent : OptionalFields

IncrementalInventory

container

Conteneur pour la configuration de l'inventaire incrémentiel.

IsEnabled

Boolean

Indique s'il faut activer l'inventaire incrémentiel.

Valeurs valides :

  • true : activé

  • false : désactivé

Si la valeur est true, l'inventaire incrémentiel est activé même si IsEnabled parent a la valeur false.

Nœud parent : IncrementalInventory

Schedule

container

Conteneur pour la planification de l'exportation de l'inventaire incrémentiel.

Nœud parent : IncrementalInventory

Frequency

Integer

Fréquence d'exportation de l'inventaire incrémentiel, en secondes.

Le système exporte les inventaires incrémentiels à un intervalle fixe de 600 secondes. À chaque intervalle, le système crée automatiquement un préfixe de répertoire et génère un fichier manifest ainsi que plusieurs fichiers CSV. Les fréquences personnalisées ne sont pas prises en charge.

Nœud parent : Schedule

OptionalFields

container

Conteneur pour les champs facultatifs à inclure dans l'inventaire incrémentiel.

Nœud parent : IncrementalInventory

Field

String

Champs inclus dans l'inventaire incrémentiel.

Nœud parent : OptionalFields

  • SequenceNumber : Numéro de séquence. Chaque enregistrement possède un numéro de séquence unique. Les enregistrements pour un même objet dans un même bucket peuvent être triés par SequenceNumber. Les enregistrements triés suivent généralement un ordre chronologique.

  • RecordType : Type d'événement. Valeurs valides : CREATE, UPDATE_METADATA et DELETE.

    • CREATE : Toutes les opérations de téléchargement, telles que PutObject, PostObject, AppendObject, le téléchargement multipart et CopyObject, qui se produisent pour les objets avec le préfixe spécifié.

    • UPDATE_METADATA : Toutes les mises à jour de métadonnées pour les objets avec le préfixe spécifié sont enregistrées sous ce type d'événement.

    • DELETE : Toutes les opérations de suppression pour les objets avec le préfixe spécifié, telles que DeleteObject, DeleteMultipleObjects, la création d'un marqueur de suppression après l'activation du versioning et les suppressions basées sur le cycle de vie. Les suppressions incluent la création d'un marqueur de suppression et les suppressions permanentes. Pour les suppressions permanentes, seuls les champs principaux Bucket, Key, SequenceNumber, RecordType, RecordTimestamp et VersionId sont conservés. Les autres colonnes sont vides (null).

  • RecordTimestamp : Horodatage UTC de l'événement. Exemple : « 2024-08-25 18:08:01.024 ». L'horodatage est précis à la milliseconde près.

  • Requester : ID Alibaba Cloud ou ID principal du demandeur.

  • RequestId : ID unique de la requête.

  • SourceIp : Adresse IP source du demandeur.

  • Key : Nom de l'objet dans le bucket. La clé est encodée en URL.

  • VersionId : ID de version de l'objet. Ce champ apparaît uniquement lorsque la configuration d'inventaire est définie pour inclure toutes les versions.

    • Si le versioning n'est pas activé pour le bucket, ce champ est vide.

    • Si le versioning est activé pour le bucket, ce champ affiche l'ID de version de l'objet.

  • IsDeleteMarker : Indique si la version de l'objet est un marqueur de suppression. Ce champ apparaît uniquement lorsque la configuration d'inventaire est définie pour inclure toutes les versions.

    • Si le versioning n'est pas activé pour le bucket, ce champ prend par défaut la valeur false.

    • Si le versioning est activé et que la version de l'objet est un marqueur de suppression, ce champ a la valeur true. Sinon, il a la valeur false.

  • Size : Taille de l'objet.

  • StorageClass : Classe de stockage de l'objet.

  • LastModifiedDate : Dernière date de modification de l'objet.

  • ETag : Lorsqu'un objet est créé, un ETag est généré pour identifier son contenu.

    • Pour un objet créé en appelant l'opération PutObject, l'ETag est le hachage MD5 de son contenu.

    • Pour un objet créé par d'autres méthodes, l'ETag est une valeur unique calculée selon des règles spécifiques, mais ce n'est pas le hachage MD5 de son contenu.

  • IsMultipartUploaded : Indique si l'objet a été téléchargé à l'aide d'un téléchargement multipart.

  • ObjectType : Type de l'objet.

  • ObjectAcl : Liste de contrôle d'accès (ACL) de l'objet.

  • Crc64 : Valeur CRC-64 de l'objet.

  • EncryptionStatus : Indique si l'objet est chiffré.

Exemples

  • Exemple de requête

      GET /?inventory HTTP/1.1
      Host: BucketName.oss.aliyuncs.com
      Date: Fri, 24 Feb 2012 03:55:00 GMT
      Authorization: authorization string
      Content-Type: text/plain
  • Exemple de réponse

      HTTP/1.1 200 OK
      x-oss-request-id: 56594298207FB304438516F9
      Date: Sat, 30 Apr 2016 23:29:37 GMT
      Content-Type: application/xml
      Content-Length: length
      Connection: close
      Server: AliyunOSS
    
      <?xml version="1.0" encoding="UTF-8"?>
      <ListInventoryConfigurationsResult>
         <InventoryConfiguration>
            <Id>report1</Id>
            <IsEnabled>true</IsEnabled>
            <Destination>
               <OSSBucketDestination>
                  <Format>CSV</Format>
                  <AccountId>1000000000000000</AccountId>
                  <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
                  <Bucket>acs:oss:::destination-bucket</Bucket>
                  <Prefix>prefix1</Prefix>
               </OSSBucketDestination>
            </Destination>
            <Schedule>
               <Frequency>Daily</Frequency>
            </Schedule>
            <Filter>
               <Prefix>prefix/One</Prefix>
            </Filter>
            <IncludedObjectVersions>All</IncludedObjectVersions>
            <OptionalFields>
               <Field>Size</Field>
               <Field>LastModifiedDate</Field>
               <Field>ETag</Field>
               <Field>StorageClass</Field>
               <Field>IsMultipartUploaded</Field>
               <Field>EncryptionStatus</Field>
            </OptionalFields>
         </InventoryConfiguration>
         <InventoryConfiguration>
            <Id>report2</Id>
            <IsEnabled>true</IsEnabled>
            <Destination>
               <OSSBucketDestination>
                  <Format>CSV</Format>
                  <AccountId>1000000000000000</AccountId>
                  <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
                  <Bucket>acs:oss:::destination-bucket</Bucket>
                  <Prefix>prefix2</Prefix>
               </OSSBucketDestination>
            </Destination>
            <Schedule>
               <Frequency>Daily</Frequency>
            </Schedule>
            <Filter>
               <Prefix>prefix/Two</Prefix>
            </Filter>
            <IncludedObjectVersions>All</IncludedObjectVersions>
            <OptionalFields>
               <Field>Size</Field>
               <Field>LastModifiedDate</Field>
               <Field>ETag</Field>
               <Field>StorageClass</Field>
               <Field>IsMultipartUploaded</Field>
               <Field>EncryptionStatus</Field>
            </OptionalFields>
         </InventoryConfiguration>
         <InventoryConfiguration>
            <Id>report3</Id>
            <IsEnabled>true</IsEnabled>
            <Destination>
               <OSSBucketDestination>
                  <Format>CSV</Format>
                  <AccountId>1000000000000000</AccountId>
                  <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
                  <Bucket>acs:oss:::destination-bucket</Bucket>
                  <Prefix>prefix3</Prefix>
               </OSSBucketDestination>
            </Destination>
            <Schedule>
               <Frequency>Daily</Frequency>
            </Schedule>
            <Filter>
               <Prefix>prefix/Three</Prefix>
            </Filter>
            <IncludedObjectVersions>All</IncludedObjectVersions>
            <OptionalFields>
               <Field>Size</Field>
               <Field>LastModifiedDate</Field>
               <Field>ETag</Field>
               <Field>StorageClass</Field>
               <Field>IsMultipartUploaded</Field>
               <Field>EncryptionStatus</Field>
            </OptionalFields>
         </InventoryConfiguration>
          ...
         <IsTruncated>true</IsTruncated>
         <NextContinuationToken>...</NextContinuationToken> 
      </ListInventoryConfigurationsResult>

SDK

Appelez cette opération à l'aide des SDK suivants :

Ossutil CLI

Pour effectuer cette opération à l'aide d'ossutil, consultez la commande list-bucket-inventory.