L'interface put-bucket-inventory configure des règles d'inventaire pour un compartiment (Bucket) donné.
Remarques
Seul le propriétaire du Bucket ou un utilisateur disposant de l'autorisation
oss:PutBucketInventorypeut configurer une règle d'inventaire.Avant de configurer une règle d'inventaire, créez un rôle RAM autorisé à lire tous les fichiers du Bucket source et à écrire dans le Bucket de destination. Lors de la première utilisation de la fonctionnalité d'inventaire, nous vous recommandons d'utiliser la console OSS. Une fois la règle configurée, vous pourrez récupérer le rôle RAM disposant de toutes les autorisations requises. Pour plus d'informations sur les autorisations du rôle RAM, consultez la rubrique Bucket inventory.
Un Bucket peut contenir au maximum 1 000 règles d'inventaire.
Le Bucket source et le Bucket de destination des fichiers d'inventaire doivent se trouver dans la même région.
Format 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 |
Configuration de l'inventaire. |
|
--inventory-id |
string |
ID de la tâche d'inventaire. |
La commande put-bucket-inventory correspond à l'API PutBucketInventory. Pour connaître la signification des paramètres de l'API, consultez la rubrique PutBucketInventory.
--inventory-configuration
L'option --inventory-configuration accepte les syntaxes XML et JSON. Si la valeur commence par le préfixe file://, la configuration est lue depuis un fichier.
-
Syntaxe 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> <IncrementalInventory> <IsEnabled>integer</IsEnabled> <Schedule> <Frequency>integer</Frequency> </Schedule> <OptionalFields> <Field>string</Field> ... </OptionalFields> </IncrementalInventory> </InventoryConfiguration> -
Syntaxe JSON :
[ { "Id": "string", "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", ... ] }, "IncrementalInventory": { "IsEnabled": "boolean", "Schedule": { "Frequency": "integer" }, "OptionalFields": { "Field": [ "string", ... ] } } ]
Pour la liste des options de ligne de commande globales, consultez la rubrique Global command-line options.
Exemples d'utilisation
Configurer une règle d'inventaire
Les exemples suivants configurent une règle d'inventaire nommée report1 pour le Bucket examplebucket.
-
Utilisez un fichier de configuration XML. Le contenu du fichier
inventory-configuration.xmlest le suivant :<?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. Le contenu du fichier
inventory-configuration.jsonest le suivant :{ "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 -
Transmettez directement les paramètres JSON dans la commande. Exemple :
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\"]}}"
Configurer une règle d'inventaire incrémentiel
L'exemple suivant configure une règle d'inventaire nommée report1 pour le Bucket examplebucket.
-
Utilisez un fichier de configuration XML. Le contenu du fichier
inventory-configuration.xmlest le suivant :<?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 commande :
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.xml