Todos os produtos
Search
Central de documentação

Object Storage Service:put-bucket-inventory

Última atualização: Sep 24, 2026

Configura um inventário para um bucket.

Notas de uso

  • Apenas o proprietário do bucket e usuários RAM que têm a permissão oss:PutBucketInventory podem configurar inventários para o bucket.

  • Antes de configurar um inventário, verifique se existe uma função RAM autorizada a acessar todos os objetos do bucket para o qual deseja configurar o inventário e a gravar dados no bucket onde as listas de inventário serão armazenadas. Se for a primeira vez que usa o recurso de inventário de bucket, recomendamos que você configure um inventário no console do Object Storage Service (OSS). Após configurar o inventário, você pode obter a função RAM com as permissões necessárias para executar todas as operações nos recursos do OSS. Para mais informações sobre as permissões da função RAM exigidas para configurar inventários, consulte Bucket inventory.

  • É possível configurar até 1.000 inventários por bucket.

  • O bucket onde as listas de inventário serão armazenadas deve estar na mesma região do bucket para o qual o inventário está sendo configurado.

Sintaxe do comando

ossutil api put-bucket-inventory --bucket value --inventory-id value --inventory-configuration value [flags]

Parâmetro

Tipo

Descrição

--bucket

string

O nome do bucket.

--inventory-configuration

string

O contêiner que armazena as informações de configuração do inventário.

--inventory-id

string

O ID do inventário.

Nota

O comando put-bucket-inventory é equivalente à operação de API PutBucketInventory. Para mais informações sobre a operação de API, consulte PutBucketInventory.

--inventory-configuration

O parâmetro --inventory-configuration aceita os formatos XML e JSON. Se o valor do parâmetro começar com "file://", as configurações serão carregadas a partir do arquivo especificado.

  • Formato 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>
  • Formato 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"
      },
      ...
    ]
Nota

Para mais informações sobre as opções globais de linha de comando disponíveis, consulte Command-line options.

Exemplos

Configure um inventário chamado report1 para um bucket chamado examplebucket.

  • Usar um arquivo de configuração XML (inventory-configuration.xml neste exemplo)

    <?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>

Exemplo de comando:

ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.xml
  • Usar um arquivo de configuração JSON (inventory-configuration.json neste exemplo)

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

    Exemplo de comando:

    ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.json
  • Usar parâmetros JSON diretamente na linha de comando

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