1 Star 0 Fork 0

yanpin-dev/aliyun-oss-go-sdk

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
bucket_inventory.go 2.46 KB
一键复制 编辑 原始数据 按行查看 历史
taowei.wtw 提交于 2019-10-24 17:18 +08:00 . add bucket inventory api coded by zhanghang
package sample
import (
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
// BucketInventorySample shows how to set, get, list and delete the bucket inventory configuration
func BucketInventorySample() {
// New client
client, err := oss.New(endpoint, accessID, accessKey)
if err != nil {
HandleError(err)
}
// Create the bucket with default parameters
err = client.CreateBucket(bucketName)
if err != nil {
HandleError(err)
}
// the inventory configuration,not use any encryption
bl := true
invConfig := oss.InventoryConfiguration{
Id: "report1",
IsEnabled: &bl,
Prefix: "filterPrefix/",
OSSBucketDestination: oss.OSSBucketDestination{
Format: "CSV",
AccountId: accountID,
RoleArn: stsARN,
Bucket: "acs:oss:::" + bucketName,
Prefix: "prefix1",
},
Frequency: "Daily",
IncludedObjectVersions: "All",
OptionalFields: oss.OptionalFields{
Field: []string{
"Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
},
},
}
// case 1: Set inventory
err = client.SetBucketInventory(bucketName, invConfig)
if err != nil {
HandleError(err)
}
// case 2: Get Bucket inventory
ret, err := client.GetBucketInventory(bucketName, invConfig.Id)
if err != nil {
HandleError(err)
}
fmt.Println("Bucket inventory:", ret)
// case 3: List Bucket inventory
invConfig2 := oss.InventoryConfiguration{
Id: "report2",
IsEnabled: &bl,
Prefix: "filterPrefix/",
OSSBucketDestination: oss.OSSBucketDestination{
Format: "CSV",
AccountId: accountID,
RoleArn: stsARN,
Bucket: "acs:oss:::" + bucketName,
Prefix: "prefix1",
},
Frequency: "Daily",
IncludedObjectVersions: "All",
OptionalFields: oss.OptionalFields{
Field: []string{
"Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
},
},
}
err = client.SetBucketInventory(bucketName, invConfig2)
if err != nil {
HandleError(err)
}
NextContinuationToken := ""
listInvConf, err := client.ListBucketInventory(bucketName, NextContinuationToken)
if err != nil {
HandleError(err)
}
fmt.Println("Bucket inventory list:", listInvConf)
// case 4: Delete Bucket inventory
err = client.DeleteBucketInventory(bucketName, invConfig.Id)
if err != nil {
HandleError(err)
}
// Delete bucket
err = client.DeleteBucket(bucketName)
if err != nil {
HandleError(err)
}
fmt.Println("BucketInventorySample completed")
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/yanpin-dev/aliyun-oss-go-sdk.git
git@gitee.com:yanpin-dev/aliyun-oss-go-sdk.git
yanpin-dev
aliyun-oss-go-sdk
aliyun-oss-go-sdk
v2.1.8

搜索帮助