6 "github.com/aliyun/aliyun-oss-go-sdk/oss"
9 // BucketInventorySample shows how to set, get, list and delete the bucket inventory configuration
10 func BucketInventorySample() {
12 client, err := oss.New(endpoint, accessID, accessKey)
17 // Create the bucket with default parameters
18 err = client.CreateBucket(bucketName)
23 // the inventory configuration,not use any encryption
25 invConfig := oss.InventoryConfiguration{
28 Prefix: "filterPrefix/",
29 OSSBucketDestination: oss.OSSBucketDestination{
33 Bucket: "acs:oss:::" + bucketName,
37 IncludedObjectVersions: "All",
38 OptionalFields: oss.OptionalFields{
40 "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
45 // case 1: Set inventory
46 err = client.SetBucketInventory(bucketName, invConfig)
51 // case 2: Get Bucket inventory
52 ret, err := client.GetBucketInventory(bucketName, invConfig.Id)
56 fmt.Println("Bucket inventory:", ret)
58 // case 3: List Bucket inventory
59 invConfig2 := oss.InventoryConfiguration{
62 Prefix: "filterPrefix/",
63 OSSBucketDestination: oss.OSSBucketDestination{
67 Bucket: "acs:oss:::" + bucketName,
71 IncludedObjectVersions: "All",
72 OptionalFields: oss.OptionalFields{
74 "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
78 err = client.SetBucketInventory(bucketName, invConfig2)
82 NextContinuationToken := ""
83 listInvConf, err := client.ListBucketInventory(bucketName, NextContinuationToken)
87 fmt.Println("Bucket inventory list:", listInvConf)
89 // case 4: Delete Bucket inventory
90 err = client.DeleteBucketInventory(bucketName, invConfig.Id)
96 err = client.DeleteBucket(bucketName)
101 fmt.Println("BucketInventorySample completed")