Tous les produits
Search
Centre de documentation

Object Storage Service:put-bucket-inventory

Dernière mise à jour :Aug 18, 2026

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:PutBucketInventory peut 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.

Remarque

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",
              ...
            ]
          }
         }
    ]
Remarque

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.xml est 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.json est 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.xml est 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