OSS允许用户对Bucket设置访问日志记录,设置之后对于Bucket的访问会被记录 成日志,日志存储在OSS上由用户指定的Bucket中,文件的格式为:
<TargetPrefix><SourceBucket>-YYYY-mm-DD-HH-MM-SS-UniqueString
其中TargetPrefix由用户指定。日志规则由以下3项组成:
更多关于访问日志的内容请参考 Bucket访问日志
提示:
- Bucket访问权限设置的示例代码在
sample/bucket_logging.go。
通过Client.SetBucketLogging来开启日志功能:
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
// target_bucket:"my-target-bucket", target_prefix:"my-object-", enable: true
err = client.SetBucketLogging("my-bucket", "my-target-bucket", "my-object-", true)
if err != nil {
// HandleError(err)
}
通过Client.GetBucketLogging来查看日志设置:
import "fmt"
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
logRes, err := client.GetBucketLogging("my-bucket")
if err != nil {
// HandleError(err)
}
fmt.Println("Target Bucket:", logRes.LoggingEnabled.TargetBucket,
"Target Prefix:", logRes.LoggingEnabled.TargetPrefix)
通过Bucket.DeleteBucketLogging来关闭日志功能:
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
err = client.DeleteBucketLogging("my-bucket")
if err != nil {
// HandleError(err)
}