全部产品
Search
文档中心

Object Storage Service:PutBucketInventory

更新时间:Jul 02, 2025

Mengonfigurasi inventaris untuk sebuah bucket.

Catatan

Gunakan inventaris untuk mendapatkan informasi tentang objek dalam sebuah bucket, seperti jumlah, ukuran, kelas penyimpanan, dan status enkripsi. Saat mengonfigurasi inventaris untuk bucket, perhatikan hal-hal berikut:

  • Hanya pemilik bucket atau pengguna dengan izin oss:PutBucketInventory yang dapat memulai permintaan PutBucketInventory. Untuk detail lebih lanjut, lihat Melampirkan kebijakan kustom ke pengguna RAM.

  • Sebelum mengonfigurasi inventaris untuk bucket, buat Peran RAM. Peran ini harus memiliki izin untuk membaca semua objek dari bucket sumber dan menulis objek ke bucket tujuan. Jika menggunakan fitur daftar bucket untuk pertama kalinya, disarankan untuk mengonfigurasi inventaris di konsol Object Storage Service (OSS). Setelah konfigurasi, Anda dapat memperoleh Peran RAM dengan izin untuk melakukan semua operasi pada sumber daya OSS. Untuk informasi lebih lanjut, lihat Daftar Bucket.

  • Anda dapat mengonfigurasi hingga 1.000 inventaris untuk sebuah bucket.

  • Bucket sumber yang ingin dikonfigurasi inventarisnya harus berada di wilayah yang sama dengan bucket tujuan tempat daftar inventaris disimpan.

Sintaks permintaan

Penting
  • Parameter inventoryId dalam header permintaan diperlukan. Nilai parameter inventoryId harus sesuai dengan nilai parameter Id permintaan.

  • Opsi LastModifyBeginTimeStamp, LastModifyEndTimeStamp, LowerSizeBound, UpperSizeBound, dan StorageClass hanya tersedia di wilayah China (Qingdao), China (Hohhot), dan Jerman (Frankfurt).

  PUT /?inventory&inventoryId=report1 HTTP/1.1
  Host: BucketName.oss-cn-hangzhou.aliyuncs.com
  Date: Mon, 31 Oct 2016 12:00:00 GMT
  Authorization: authorization string
  Content-Length: length

  <?xml version="1.0" encoding="UTF-8"?>
    <InventoryConfiguration>
     <Id>report1</Id>
     <IsEnabled>true</IsEnabled>
     <Filter>
           <Prefix>filterPrefix/</Prefix>
           <LastModifyBeginTimeStamp>1637883649</LastModifyBeginTimeStamp>
           <LastModifyEndTimeStamp>1638347592</LastModifyEndTimeStamp>
           <LowerSizeBound>1024</LowerSizeBound>
           <UpperSizeBound>1048576</UpperSizeBound>
           <StorageClass>Standard,IA</StorageClass>
     </Filter>
     <Destination>
        <OSSBucketDestination>
           <Format>CSV</Format>
           <AccountId>1000000000000000</AccountId>
           <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
           <Bucket>acs:oss:::destination-bucket</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>TransistionTime</Field>
        <Field>ETag</Field>
        <Field>StorageClass</Field>
        <Field>IsMultipartUploaded</Field>
        <Field>EncryptionStatus</Field>
     </OptionalFields>
  </InventoryConfiguration>

Elemen permintaan

Elemen

Tipe

Diperlukan

Contoh

Deskripsi

Id

String

Ya

report1

Nama inventaris. Nama tersebut harus memenuhi persyaratan berikut:

  • Nama tersebut harus unik secara global dalam bucket saat ini.

  • Nama tidak boleh melebihi 192 karakter.

IsEnabled

Boolean

Ya

true

Menentukan apakah akan mengaktifkan fitur inventaris bucket.

Nilai valid:

  • true

  • false

Filter

Container

Tidak

N/A

Kontainer yang menyimpan awalan yang digunakan untuk memfilter objek. Hanya objek yang namanya mengandung awalan tertentu yang termasuk dalam inventaris.

Prefix

String

Tidak

Pics/

Awalan yang ditentukan dalam inventaris.

Node induk: Filter

LastModifyBeginTimeStamp

String

Tidak

1637883649

Awal rentang waktu ketika objek terakhir dimodifikasi. Satuan: detik.

Nilai valid: [1262275200, 253402271999]

LastModifyEndTimeStamp

String

Tidak

1638347592

Akhir rentang waktu ketika objek terakhir dimodifikasi. Satuan: detik.

Nilai valid: [1262275200, 253402271999]

LowerSizeBound

String

Tidak

1024

Ukuran minimum objek yang ditentukan. Satuan: B.

Nilai valid: [0 B, 48,8 TB]

UpperSizeBound

String

Tidak

1048576

Ukuran maksimum objek yang ditentukan. Satuan: B.

Nilai valid: (0 B, 48,8 TB]

StorageClass

String

Tidak

Standard,IA

Kelas penyimpanan objek. Anda dapat menentukan beberapa kelas penyimpanan.

Nilai valid:

  • Standard

  • IA

  • Archive

  • ColdArchive

  • All

Destination

Container

Ya

N/A

Kontainer yang menyimpan daftar inventaris yang diekspor.

OSSBucketDestination

Container

Ya

N/A

Kontainer yang menyimpan informasi tentang bucket tempat daftar inventaris yang diekspor disimpan.

Node induk: Destination

Format

String

Ya

CSV

Format daftar inventaris yang diekspor. Daftar inventaris yang diekspor adalah objek CSV yang dikompres menggunakan GZIP.

Nilai valid: CSV

Node induk: OSSBucketDestination

AccountId

String

Ya

100000000000000

ID akun Alibaba Cloud yang diberi izin oleh pemilik bucket untuk memanggil operasi PutBucketInventory.

Node induk: OSSBucketDestination

RoleArn

String

Ya

acs:ram::100000000000000:role/AliyunOSSRole

Nama ARN Alibaba Cloud dari peran yang memiliki izin untuk membaca semua objek dari bucket sumber dan menulis objek ke bucket tujuan. Format: acs:ram::uid:role/rolename.

Node induk: OSSBucketDestination

Bucket

String

Ya

acs:oss:::bucket_0001

Nama bucket tempat daftar inventaris yang diekspor disimpan.

Node induk: OSSBucketDestination

Prefix

String

Tidak

prefix1/

Awalan jalur tempat daftar inventaris yang diekspor disimpan.

Node induk: OSSBucketDestination

Encryption

Container

Tidak

N/A

Kontainer yang menyimpan metode enkripsi daftar inventaris yang diekspor.

Nilai valid:

  • SSE-OSS: Kunci yang dikelola oleh OSS digunakan untuk mengenkripsi dan mendekripsi daftar inventaris.

  • SSE-KMS: Kunci master pelanggan default atau CMK yang ditentukan yang dikelola oleh Key Management Service (KMS) digunakan untuk mengenkripsi dan mendekripsi daftar inventaris.

Node induk: OSSBucketDestination

Untuk informasi lebih lanjut, lihat Enkripsi sisi server.

SSE-OSS

Container

Tidak

N/A

Kontainer yang menyimpan informasi tentang metode enkripsi SSE-OSS.

Node induk: Encryption

SSE-KMS

Container

Tidak

N/A

Kontainer yang menyimpan CMK yang digunakan untuk enkripsi SSE-KMS.

Node induk: Encryption

KeyId

String

Tidak

keyId

ID kunci yang dikelola oleh KMS.

Node induk: SSE-KMS

Schedule

Container

Ya

N/A

Kontainer yang menyimpan informasi tentang frekuensi ekspor daftar inventaris.

Frequency

String

Ya

Daily

Frekuensi ekspor daftar inventaris.

Nilai valid:

  • Daily: Daftar inventaris diekspor setiap hari.

  • Weekly: Daftar inventaris diekspor setiap minggu.

Node induk: Schedule

IncludedObjectVersions

String

Ya

All

Menentukan apakah akan menyertakan informasi versi objek dalam daftar inventaris.

Nilai valid:

  • All: Informasi tentang semua versi objek diekspor.

  • Current: Hanya informasi tentang versi saat ini dari objek yang diekspor.

OptionalFields

Container

Tidak

N/A

Kontainer yang menyimpan bidang konfigurasi dalam daftar inventaris.

Field

String

Tidak

Size

Bidang konfigurasi yang disertakan dalam daftar inventaris.

  • Size: ukuran objek.

  • LastModifiedDate: waktu terakhir objek dimodifikasi.

  • ETag: ETag objek. ETag mengidentifikasi konten objek.

  • StorageClass: kelas penyimpanan objek.

  • IsMultipartUploaded: menentukan apakah objek diunggah menggunakan unggah multipart.

  • EncryptionStatus: status enkripsi objek.

  • ObjectAcl: daftar kontrol akses (ACL) objek.

  • TaggingCount: jumlah tag.

  • ObjectType: tipe objek.

  • Crc64: CRC-64 objek.

Header respons

Semua header dalam respons terhadap permintaan PutBucketInventory adalah header respons umum, seperti Content-Length dan Date. Untuk informasi lebih lanjut, lihat Header Respons Umum.

Contoh

  • Permintaan Contoh

      PUT /?inventory&inventoryId=report1 HTTP/1.1
      Host: oss-example.oss-cn-hangzhou.aliyuncs.com
      Date: Mon, 31 Oct 2016 12:00:00 GMT
      Authorization: authorization string
      Content-Length: length
    
      <?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>TransistionTime</Field> 
            <Field>ETag</Field>
            <Field>StorageClass</Field>
            <Field>IsMultipartUploaded</Field>
            <Field>EncryptionStatus</Field>
         </OptionalFields>
      </InventoryConfiguration>
  • Respons Contoh

      HTTP/1.1 200 OK
      x-oss-request-id: 56594298207FB3044385****
      Date: Mon, 31 Oct 2016 12:00:00 GMT
      Content-Length: 0
      Server: AliyunOSS

OSS SDK

Gunakan OSS SDK untuk bahasa pemrograman berikut guna memanggil PutBucketInventory:

ossutil

Untuk informasi tentang perintah ossutil yang sesuai dengan operasi PutBucketInventory, lihat put-bucket-inventory.

Kode kesalahan

Kode kesalahan

Kode status HTTP

Deskripsi

InvalidArgument

400

Satu atau beberapa parameter yang ditentukan tidak valid.

InventoryExceedLimit

400

Jumlah inventaris yang dikonfigurasikan melebihi batas.

AccessDenied

403

  • Informasi otentikasi tidak disertakan dalam permintaan PutBucketInventory.

  • Anda tidak memiliki izin untuk melakukan operasi ini.

InventoryAlreadyExist

409

Inventaris yang ingin Anda konfigurasikan sudah ada.