Tous les produits
Search
Centre de documentation

Object Storage Service:put-bucket-inventory

Dernière mise à jour :Sep 24, 2026

Configure un inventaire pour un bucket.

Notes d'utilisation

  • Seuls le propriétaire du bucket et les utilisateurs RAM disposant de l'autorisation oss:PutBucketInventory peuvent 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.

Remarque

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

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\"]}}"