Utilisez l'API PutBucketInventory pour configurer une règle d'inventaire sur un bucket.
Notes
L'inventaire permet de recueillir des informations sur les objets d'un bucket, notamment leur nombre, leur taille, leur classe de stockage et leur état de chiffrement. Lors de la configuration des règles d'inventaire, gardez à l'esprit les points suivants :
Avant de configurer une règle d'inventaire, créez un rôle RAM. Ce rôle doit disposer des permissions nécessaires pour lire tous les objets du bucket source et écrire des objets dans le bucket de destination. Nous vous recommandons d'utiliser la console OSS pour configurer votre première règle d'inventaire, car elle facilite la création d'un rôle RAM doté des permissions requises. Pour plus de détails sur les permissions associées au rôle RAM, consultez la rubrique inventaire de bucket.
Un bucket peut accueillir jusqu'à 1 000 règles d'inventaire.
Les buckets source et destination destinés aux fichiers d'inventaire exportés doivent se trouver dans la même région.
Pour activer l'inventaire incrémental, contactez le support technique. Cette fonctionnalité est prise en charge uniquement dans la région Mexique.
Permissions
Par défaut, un compte Alibaba Cloud dispose de toutes les permissions. Les utilisateurs ou rôles RAM rattachés à ce compte n'en possèdent aucune. L'administrateur du compte doit donc accorder les permissions d'opération via des politiques RAM ou une Bucket Policy.
|
API |
Action |
Description |
|
PutBucketInventory |
oss:PutBucketInventory |
Configure les inventaires d'un bucket. |
Syntaxe de la requête
Le paramètre de chaîne de requête
inventoryIdest obligatoire. Sa valeur doit correspondre à celle de l'élémentIdprésent dans le corps de la requête.Les options LastModifyBeginTimeStamp, LastModifyEndTimeStamp, LowerSizeBound, UpperSizeBound et StorageClass sont disponibles uniquement dans les régions Chine (Qingdao), Chine (Hohhot) et Allemagne (Francfort).
PUT /?inventory&inventoryId=report1 HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: Mon, 31 Oct 2016 12:00:00 GMT
Authorization: authorization string
Content-Length: length
<?xml version="1.0" encoding="UTF-8"?>
<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>
<Encryption>
<SSE-KMS>
<KeyId>keyId</KeyId>
</SSE-KMS>
</Encryption>
</OSSBucketDestination>
</Destination>
<Schedule>
<Frequency>Monthly</Frequency>
<DayOfMonth>1</DayOfMonth>
</Schedule>
<IncludedObjectVersions>All</IncludedObjectVersions>
<OptionalFields>
<Field>Size</Field>
<Field>LastModifiedDate</Field>
<Field>TransitionTime</Field>
<Field>ETag</Field>
<Field>StorageClass</Field>
<Field>IsMultipartUploaded</Field>
<Field>EncryptionStatus</Field>
</OptionalFields>
<IncrementalInventory>
<IsEnabled>true</IsEnabled>
<Schedule>
<Frequency>600</Frequency>
</Schedule>
<OptionalFields>
<Field>SequenceNumber</Field>
<Field>RecordType</Field>
<Field>RecordTimestamp</Field>
<Field>Requester</Field>
<Field>RequestId</Field>
<Field>SourceIp</Field>
<Field>Size</Field>
<Field>StorageClass</Field>
<Field>LastModifiedDate</Field>
<Field>ETag</Field>
<Field>IsMultipartUploaded</Field>
<Field>ObjectType</Field>
<Field>ObjectAcl</Field>
<Field>Crc64</Field>
<Field>EncryptionStatus</Field>
</OptionalFields>
</IncrementalInventory>
</InventoryConfiguration>
Éléments de la requête
Paramètre | Type | Obligatoire | Exemple | Description |
Id | String | Oui | report1 | Nom personnalisé de l'inventaire. Ce nom doit respecter les exigences suivantes :
|
IsEnabled | Boolean | Oui | true | Indique si l'inventaire est activé. Valeurs valides :
|
Filter | Container | Non | N/A | Conteneur du filtre définissant les critères de sélection des objets à inclure dans l'inventaire. |
Prefix | String | Non | Pics/ | Préfixe utilisé pour filtrer les objets. Nœud parent : Filter |
LastModifyBeginTimeStamp | String | Non | 1637883649 | Début de la plage de dates de dernière modification des objets, exprimé sous forme d'horodatage UNIX en secondes. Plage de valeurs : [1262275200, 253402271999] |
LastModifyEndTimeStamp | String | Non | 1638347592 | Fin de la plage de dates de dernière modification des objets, exprimée sous forme d'horodatage UNIX en secondes. Plage de valeurs : [1262275200, 253402271999] |
LowerSizeBound | String | Non | 1024 | Taille minimale (en octets) des objets à inclure dans l'inventaire. Cette valeur doit être supérieure ou égale à 0 o et inférieure ou égale à 48,8 To. |
UpperSizeBound | String | Non | 1048576 | Taille maximale (en octets) des objets à inclure dans l'inventaire. Elle doit être strictement supérieure à 0 o et inférieure ou égale à 48,8 To. |
StorageClass | String | Non | Standard,IA | Classes de stockage des objets à inventorier. Vous pouvez spécifier plusieurs classes de stockage. Valeurs valides :
|
Destination | Container | Oui | N/A | Conteneur regroupant les informations sur la destination où sont stockés les rapports d'inventaire. |
OSSBucketDestination | Container | Oui | N/A | Conteneur contenant les informations relatives au bucket de stockage des rapports d'inventaire. Nœud parent : Destination |
Format | String | Oui | CSV | Format du rapport d'inventaire. Ce rapport prend la forme d'un fichier CSV compressé avec GZIP. Valeurs valides : CSV, Parquet (le format Parquet n'est actuellement pris en charge que dans la région Royaume-Uni (Londres).) Nœud parent : OSSBucketDestination |
AccountId | String | Oui | 100000000000000 | ID du compte Alibaba Cloud propriétaire du bucket de destination. Nœud parent : OSSBucketDestination |
RoleArn | String | Oui | acs:ram::100000000000000:role/AliyunOSSRole | Alibaba Cloud Resource Name (ARN) du rôle RAM disposant des permissions nécessaires pour lire tous les objets du bucket source et écrire des objets dans le bucket de destination. Le format attendu est Nœud parent : OSSBucketDestination |
Bucket | String | Oui | acs:oss:::bucket_0001 | Bucket de destination recevant le rapport d'inventaire. Nœud parent : OSSBucketDestination |
Prefix | String | Non | prefix1/ | Préfixe du chemin de stockage des fichiers de rapport d'inventaire. Nœud parent : OSSBucketDestination |
Encryption | Container | Non | N/A | Conteneur de la configuration de chiffrement côté serveur appliquée au rapport d'inventaire. Valeurs valides :
Nœud parent : OSSBucketDestination Pour plus d'informations sur le chiffrement côté serveur, consultez la rubrique Chiffrement côté serveur. |
SSE-OSS | Container | No | N/A | Conteneur de la configuration de chiffrement SSE-OSS. Nœud parent : Encryption |
SSE-KMS | Container | No | N/A | Conteneur de la configuration de chiffrement SSE-KMS. Nœud parent : Encryption |
KeyId | String | No | keyId | ID de la CMK gérée par KMS. Nœud parent : SSE-KMS |
Schedule | Container | Yes | N/A | Conteneur de la planification de génération du rapport d'inventaire. |
Frequency | String | Yes | Daily | Fréquence de génération du rapport d'inventaire. Valeurs valides :
Nœud parent : Schedule |
DayOfMonth | Positive integer | No | 1 | Lorsque Frequency a pour valeur Monthly, ce paramètre indique le jour du mois où l'inventaire doit être généré. La valeur doit correspondre à un entier positif compris entre 1 et 31.
Remarque Cette date marque le début de la tâche d'inventaire et non la livraison du rapport. La génération d'un inventaire constituant une tâche asynchrone dont la durée dépend du nombre d'objets, le rapport est remis après cette date. Nœud parent : Schedule |
AutoDelete | Boolean | No | true | Détermine si la configuration d'inventaire doit être supprimée après la génération d'un inventaire unique. Cet élément n'est valide que lorsque Frequency a pour valeur Once. Valeurs valides : true, false Nœud parent : Schedule |
IncludedObjectVersions | String | Yes | All | Indique si les versions des objets doivent figurer dans l'inventaire. Valeurs valides :
|
OptionalFields | Container | No | N/A | Conteneur regroupant les champs facultatifs à intégrer au rapport d'inventaire. |
Field | String | No | Size | Champs facultatifs à intégrer au rapport d'inventaire.
|
IncrementalInventory | Container | No | N/A | Conteneur de la configuration d'inventaire incrémental. |
IsEnabled | Boolean | Oui | true | Indique s'il faut activer l'inventaire incrémental. Valeurs valides :
Si cet élément est défini sur true, l'inventaire incrémental est activé et prend effet même lorsque InventoryConfiguration/IsEnabled a pour valeur false. Nœud parent : IncrementalInventory |
Schedule | Container | Oui | N/A | Conteneur regroupant la planification de génération de l'inventaire incrémental. Nœud parent : IncrementalInventory |
Frequency | Entier positif | Oui | 600 | Fréquence de génération de l'inventaire incrémental, exprimée en secondes. Le système applique une fréquence fixe de 600 secondes. À chaque période, un préfixe de répertoire est créé automatiquement, accompagné d'un fichier manifeste correspondant et de plusieurs fichiers CSV générés durant cette même période. Les fréquences personnalisées ne sont pas prises en charge. Nœud parent : Schedule |
OptionalFields | Container | Non | N/A | Conteneur des propriétés à inclure dans le fichier d'inventaire incrémental. Nœud parent : IncrementalInventory |
Field | String | Non | Size | Champs à intégrer dans l'inventaire incrémental. Nœud parent : OptionalFields
|
Instructions
Lisez le texte anglais pour comprendre CE qui doit être communiqué.
Rédigez le français DE ZÉRO — oubliez la structure des phrases anglaises.
Conservez exactement toute la mise en forme markdown, les blocs de code, les liens et les images.
Balises xref (
<a data-tag="xref" ...>texte</a>) — conservez LA BALISE ENTIÈRE avec tous ses attributs dans l'ordre et la casse d'origine, traduisez UNIQUEMENT le texte visible entre > et .Appliquez strictement toutes les règles spécifiques à la langue.
Appliquez les règles de mots vides (stopwords) sans aucune tolérance.
Utilisez le mode impératif dans les étapes numérotées et les listes à puces procédurales.
Garantissez la cohérence terminologique — un même terme doit toujours avoir la même traduction.
Variez les débuts de phrase dans les listes et les tableaux — aucun début de phrase ne doit apparaître plus de trois fois.
-
Retournez UNIQUEMENT le document markdown en français, sans explication.
En-têtes de réponse
Cette interface renvoie uniquement les en-têtes de réponse courants, tels que Content-Length et Date. Pour plus d'informations, consultez la rubrique En-têtes de réponse courants.
Exemples
Configuration d'inventaire
-
Exemple de requête
PUT /?inventory&inventoryId=report1 HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>report1</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>Pics/</Prefix> <LastModifyBeginTimeStamp>1637883649</LastModifyBeginTimeStamp> <LastModifyEndTimeStamp>1638347592</LastModifyEndTimeStamp> <LowerSizeBound>1024</LowerSizeBound> <UpperSizeBound>1048576</UpperSizeBound> <StorageClass>Standard,IA</StorageClass> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>100000000000000</AccountId> <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Prefix>prefix1/</Prefix> <Encryption> <SSE-KMS> <KeyId>keyId</KeyId> </SSE-KMS> </Encryption> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Daily</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>TransistionTime</Field> <Field>ETag</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>EncryptionStatus</Field> </OptionalFields> </InventoryConfiguration> -
Exemple de réponse
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
Configuration d'inventaire mensuel
La requête suivante configure un inventaire afin de générer un rapport le 3 de chaque mois.
-
Exemple de requête
PUT /?inventory&inventoryId=monthly-report HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>monthly-report</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>logs/</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>100000000000000</AccountId> <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Prefix>monthly-inventory/</Prefix> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Monthly</Frequency> <DayOfMonth>3</DayOfMonth> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>EncryptionStatus</Field> </OptionalFields> </InventoryConfiguration> -
Exemple de réponse
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
Configuration d'inventaire ponctuel
-
Exemple de requête
PUT /?inventory&inventoryId=once-report HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>once-report</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>log/</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>100000000000000</AccountId> <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Prefix>once-inventory/</Prefix> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Once</Frequency> <AutoDelete>true</AutoDelete> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>StorageClass</Field> </OptionalFields> </InventoryConfiguration> -
Exemple de réponse
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
Configuration d'inventaire incrémentiel
-
Exemple de requête
PUT /?inventory&inventoryId=report1 HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>Report-1</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>test</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>12xxxxxx29</AccountId> <RoleArn>acs:ram::12xxxxxx29:role/bucket-inventory-role</RoleArn> <Bucket>acs:oss:::test-inc-bi-bj</Bucket> <Prefix>Report-1</Prefix> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Weekly</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>StorageClass</Field> </OptionalFields> <IncrementalInventory> <IsEnabled>true</IsEnabled> <Schedule> <Frequency>600</Frequency> </Schedule> <OptionalFields> <Field>SequenceNumber</Field> <Field>RecordType</Field> <Field>RecordTimestamp</Field> <Field>Requester</Field> <Field>RequestId</Field> <Field>SourceIp</Field> <Field>Size</Field> <Field>StorageClass</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>IsMultipartUploaded</Field> <Field>ObjectType</Field> <Field>ObjectAcl</Field> <Field>Crc64</Field> <Field>EncryptionStatus</Field> </OptionalFields> </IncrementalInventory> </InventoryConfiguration> -
Exemple de réponse
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
SDK
Vous pouvez appeler cette opération à l'aide des SDK pour les langages suivants :
CLI ossutil
La commande ossutil correspondant à l'opération PutBucketInventory est put-bucket-inventory.
Codes d'erreur
Code d'erreur
Code d'état HTTP
Description
InvalidArgument
400
Un ou plusieurs paramètres spécifiés ne sont pas valides.
InventoryExceedLimit
400
Le nombre de règles d'inventaire configurées dépasse la limite autorisée.
AccessDenied
403
Identifiants d'authentification manquants dans la requête PutBucketInventory.
Vous n'êtes pas autorisé à effectuer cette opération.
InventoryAlreadyExist
409
La règle d'inventaire existe déjà.
-