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:PutBucketInventoryyang 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
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:
|
IsEnabled | Boolean | Ya | true | Menentukan apakah akan mengaktifkan fitur inventaris bucket. Nilai valid:
|
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:
|
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: 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:
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:
Node induk: Schedule |
IncludedObjectVersions | String | Ya | All | Menentukan apakah akan menyertakan informasi versi objek dalam daftar inventaris. Nilai valid:
|
OptionalFields | Container | Tidak | N/A | Kontainer yang menyimpan bidang konfigurasi dalam daftar inventaris. |
Field | String | Tidak | Size | Bidang konfigurasi yang disertakan dalam daftar inventaris.
|
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 |
|
InventoryAlreadyExist | 409 | Inventaris yang ingin Anda konfigurasikan sudah ada. |