Configure un inventaire pour un bucket.
Notes d'utilisation
Seuls le propriétaire du bucket et les utilisateurs RAM disposant de l'autorisation
oss:PutBucketInventorypeuvent configurer des inventaires pour le bucket.Avant de configurer un inventaire, assurez-vous de disposer d'un rôle RAM autorisé à accéder à tous les objets du bucket cible et à écrire des données dans le bucket de destination des listes d'inventaire. Si vous utilisez la fonctionnalité d'inventaire de bucket pour la première fois, nous vous recommandons de procéder à la configuration via la console Object Storage Service (OSS). Une fois l'inventaire configuré, vous pourrez récupérer le rôle RAM disposant des autorisations nécessaires pour toutes les opérations sur les ressources OSS. Pour plus d'informations sur les autorisations requises pour ce rôle RAM, consultez la rubrique Inventaire de bucket.
Vous pouvez configurer jusqu'à 1 000 inventaires par bucket.
Le bucket de destination des listes d'inventaire doit se trouver dans la même région que le bucket source.
Syntaxe de la commande
ossutil api put-bucket-inventory --bucket value --inventory-id value --inventory-configuration value [flags]
|
Paramètre |
Type |
Description |
|
--bucket |
string |
Nom du bucket. |
|
--inventory-configuration |
string |
Conteneur stockant la configuration de l'inventaire. |
|
--inventory-id |
string |
ID de l'inventaire. |
La commande put-bucket-inventory équivaut à l'opération API PutBucketInventory. Pour plus d'informations sur cette opération API, consultez la rubrique PutBucketInventory.
--inventory-configuration
Le paramètre --inventory-configuration prend en charge les formats XML et JSON. Si la valeur du paramètre commence par « file:// », la configuration est chargée depuis le fichier spécifié.
-
Format XML :
<InventoryConfiguration> <Id>string</Id> <IsEnabled>boolean</IsEnabled> <Destination> <OSSBucketDestination> <Bucket>string</Bucket> <Prefix>string</Prefix> <Encryption> <SSE-OSS> </SSE-OSS> <SSE-KMS> <KeyId>string</KeyId> </SSE-KMS> </Encryption> <Format>string</Format> <AccountId>string</AccountId> <RoleArn>string</RoleArn> </OSSBucketDestination> </Destination> <Schedule> <Frequency>string</Frequency> </Schedule> <Filter> <Prefix>string</Prefix> </Filter> <IncludedObjectVersions>string</IncludedObjectVersions> <OptionalFields> <Field>string</Field> ... </OptionalFields> </InventoryConfiguration> -
Format JSON :
[ { "IsEnabled": boolean, "Destination": { "OSSBucketDestination": { "Format": "string", "AccountId": "string", "RoleArn": "string", "Bucket": "string", "Prefix": "string", "Encryption": { "SSE-OSS": { }, "SSE-KMS": { "KeyId": "string" } } } }, "Schedule": { "Frequency": "string" }, "Filter": { "Prefix": "string" }, "IncludedObjectVersions": "string", "OptionalFields": { "Field": [ "string", ... ] }, "Id": "string" }, ... ]
Pour plus d'informations sur les options de ligne de commande globales prises en charge, consultez la rubrique Options de ligne de commande.
Exemples
Configurez un inventaire nommé report1 pour un bucket nommé examplebucket.
-
Utilisez un fichier de configuration XML (inventory-configuration.xml dans cet exemple)
<?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>ETag</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>EncryptionStatus</Field> </OptionalFields> </InventoryConfiguration>
Exemple de commande :
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.xml
-
Utilisez un fichier de configuration JSON (inventory-configuration.json dans cet exemple)
{ "Id": "report1", "IsEnabled": "true", "Filter": { "Prefix": "Pics/", "LastModifyBeginTimeStamp": "1637883649", "LastModifyEndTimeStamp": "1638347592", "LowerSizeBound": "1024", "UpperSizeBound": "1048576", "StorageClass": "Standard,IA" }, "Destination": { "OSSBucketDestination": { "Format": "CSV", "AccountId": "100000000000000", "RoleArn": "acs:ram::100000000000000:role/AliyunOSSRole", "Bucket": "acs:oss:::destbucket", "Prefix": "prefix1/", "Encryption": { "SSE-KMS": { "KeyId": "keyId" } } } }, "Schedule": { "Frequency": "Daily" }, "IncludedObjectVersions": "All", "OptionalFields": { "Field": [ "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus" ] } }Exemple de commande :
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.json -
Utilisez des paramètres JSON directement dans la ligne de commande
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration "{\"Id\":\"report1\",\"IsEnabled\":\"true\",\"Filter\":{\"Prefix\":\"Pics/\",\"LastModifyBeginTimeStamp\":\"1637883649\",\"LastModifyEndTimeStamp\":\"1638347592\",\"LowerSizeBound\":\"1024\",\"UpperSizeBound\":\"1048576\",\"StorageClass\":\"Standard,IA\"},\"Destination\":{\"OSSBucketDestination\":{\"Format\":\"CSV\",\"AccountId\":\"100000000000000\",\"RoleArn\":\"acs:ram::100000000000000:role/AliyunOSSRole\",\"Bucket\":\"acs:oss:::destbucket\",\"Prefix\":\"prefix1/\",\"Encryption\":{\"SSE-KMS\":{\"KeyId\":\"keyId\"}}}},\"Schedule\":{\"Frequency\":\"Daily\"},\"IncludedObjectVersions\":\"All\",\"OptionalFields\":{\"Field\":[\"Size\",\"LastModifiedDate\",\"ETag\",\"StorageClass\",\"IsMultipartUploaded\",\"EncryptionStatus\"]}}"