La fonctionnalité d'inventaire permet de récupérer des informations sur les objets stockés dans un bucket, telles que leur quantité, leur taille, leur classe de stockage et leur statut de chiffrement. Pour répertorier un grand nombre d'objets, privilégiez l'utilisation de la fonctionnalité d'inventaire plutôt que l'opération GetBucket (ListObjects). Cette rubrique explique comment utiliser la commande inventory pour ajouter, interroger, lister ou supprimer des règles d'inventaire associées à un bucket.
Précautions
Vous devez disposer de l'autorisation
oss:PutBucketInventorypour ajouter une règle d'inventaire, de l'autorisationoss:GetBucketInventorypour interroger une règle d'inventaire et de l'autorisationoss:DeleteBucketInventorypour supprimer une règle d'inventaire. Pour plus d'informations, consultez la rubrique Attacher une stratégie personnalisée à un utilisateur RAM.À partir de la version 1.6.16 d'ossutil, vous pouvez utiliser « ossutil » comme nom binaire dans la ligne de commande, quel que soit le système d'exploitation. Si vous utilisez une version antérieure à la 1.6.16, vous devez spécifier un nom binaire correspondant à votre système d'exploitation. Pour plus d'informations, consultez la section Référence des commandes ossutil.
Pour en savoir plus sur la fonctionnalité d'inventaire des buckets, consultez la rubrique Inventaire des buckets.
Ajouter une règle d'inventaire
Suivez les étapes ci-dessous pour ajouter une règle d'inventaire :
Créez un rôle RAM. Ce rôle doit disposer des autorisations nécessaires pour lire tous les objets du bucket source et écrire des fichiers dans le bucket de destination. Pour configurer ce rôle, reportez-vous à la rubrique Créer un rôle RAM pour un service Alibaba Cloud approuvé.
Créez un fichier local et configurez-y la règle d'inventaire au format XML.
ossutil lit la configuration d'inventaire depuis le fichier local, puis l'applique au bucket spécifié.
-
Syntaxe de la commande
ossutil inventory --method put oss://bucketname local_xml_fileLes paramètres sont décrits ci-dessous :
Paramètre
Description
bucketname
Nom du bucket auquel vous souhaitez ajouter la règle d'inventaire.
local_xml_file
Nom du fichier local contenant la configuration de la règle d'inventaire. Exemple :
localfile.xml. -
Exemples
-
Créez un fichier local nommé
localfile.xmlet configurez la règle d'inventaire en fonction de votre scénario.Par exemple, créez une règle d'inventaire nommée
inventorytest. Cette règle exporte un rapport d'inventaire hebdomadaire vers un bucket de destination nommédestbucket. Le rapport répertorie tous les objets du bucket source correspondant au préfixedir/et inclut des détails tels que la classe de stockage, la date de dernière modification et le statut des téléchargements multiparties. Le fichier manifeste est chiffré à l'aide de l'algorithme AES256.<?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>inventorytest</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>dir/</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>1746495857602745</AccountId> <RoleArn>acs:ram::174649585760****:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Encryption> <SSE-OSS></SSE-OSS> </Encryption> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Weekly</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>LastModifiedDate</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>ETag</Field> <Field>EncryptionStatus</Field> <Field>Size</Field> </OptionalFields> </InventoryConfiguration>ImportantVous pouvez ajouter plusieurs règles d'inventaire à un bucket. Le nom de la règle (ID) sert d'identifiant unique pour chaque configuration d'inventaire. Si vous tentez d'ajouter une règle avec un ID déjà existant, une erreur 409 est renvoyée.
-
Ajoutez une règle d'inventaire au bucket
examplebucket.ossutil inventory --method put oss://examplebucket localfile.xmlLe résultat suivant indique que la règle d'inventaire a été ajoutée.
0.299514(s) elapsed
-
Interroger une règle d'inventaire spécifique
-
Syntaxe de la commande
ossutil inventory --method get oss://bucketname inventory_id [--local_xml_file ]Les paramètres sont décrits ci-dessous :
Paramètre
Description
bucketname
Nom du bucket dont vous souhaitez interroger la règle d'inventaire.
inventory_id
Nom de la règle d'inventaire.
local_xml_file
Nom du fichier local dans lequel enregistrer la configuration d'inventaire. Exemple :
localfile.txt. Si vous ne spécifiez pas ce paramètre, la configuration d'inventaire s'affiche à l'écran. -
Exemple
ossutil inventory --method get oss://examplebucket inventorytest localfile.txtLe résultat suivant indique que la règle
inventorytestdu bucketexamplebucketa été interrogée et que le résultat a été écrit dans le fichierlocalfile.txt.0.212407(s) elapsed
Interroger toutes les règles d'inventaire
-
Syntaxe de la commande
ossutil inventory --method list oss://bucketname [--local_xml_file ] [--marker <value>]Les paramètres sont les suivants :
Paramètre
Description
bucketname
Nom du bucket dont vous souhaitez obtenir les règles d'inventaire.
local_xml_file
Nom du fichier XML local dans lequel enregistrer les configurations d'inventaire. Si vous ne spécifiez pas ce paramètre, les configurations d'inventaire s'affichent à l'écran.
marker
Condition de filtre de la liste de contrôle. Un fichier manifeste est généré uniquement pour les objets correspondant au préfixe spécifié. Si ce paramètre est laissé vide, un fichier manifeste est généré pour tous les objets du bucket cible.
-
Exemple
ossutil inventory --method list oss://examplebucket localfile.txt destLe résultat suivant indique que toutes les règles d'inventaire du bucket
examplebucketdont les ID commencent par le préfixedestont été interrogées et que les résultats ont été écrits dans le fichierlocalfile.txt.0.216897(s) elapsed
Supprimer une règle d'inventaire spécifique
-
Syntaxe de la commande
ossutil inventory --method delete oss://bucketname inventory_idLes paramètres sont décrits ci-dessous :
Paramètre
Description
bucketname
Nom du bucket duquel vous souhaitez supprimer la règle d'inventaire.
inventory_id
Nom de la règle d'inventaire.
-
Exemple
ossutil inventory --method delete oss://examplebucket inventorytestLe résultat suivant indique que la règle
inventorytestdu bucketexamplebucketa été supprimée.0.212407(s) elapsed
Options courantes
Pour accéder à un bucket situé dans une autre région, utilisez l'option -e afin de spécifier l'endpoint. Pour accéder à un bucket appartenant à un autre compte Alibaba Cloud, utilisez l'option -i pour l'AccessKey ID et l'option -k pour l'AccessKey Secret.
Par exemple, pour ajouter une règle d'inventaire à un bucket nommé examplebucket, situé dans la région Chine (Hangzhou) et appartenant à un autre compte Alibaba Cloud, exécutez la commande suivante :
ossutil inventory --method put oss://examplebucket local_xml_file -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret