您可以开启存储空间的访问日志记录功能。开启后对于此存储空间的访问会被记录成日志文件,保存在指定的存储空间中。
日志文件的格式为:
<TargetPrefix><SourceBucket>YYYY-mm-DD-HH-MM-SS-UniqueString
更多关于访问日志的介绍,请参见开发指南中的设置访问日志记录。访问日志的完整代码请参见GitHub。
开启访问日志记录
以下代码用于开启存储空间的访问日志记录:
package main import ( "fmt" "os" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func main() { // 创建OSSClient实例。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } bucketName := "<yourBucketName>" targetBucketName := "<yourTargetBucketName>" targetPrefix := "<yourTargetPrefix>" // 开启存储空间的访问日志记录。targetBucketName为存放日志文件的存储空间,targetPrefix为被保存的访问日志文件前缀,即日志文件存放的目录。 err = client.SetBucketLogging(bucketName, targetBucketName, targetPrefix, true) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } }
查看访问日志设置
以下代码用于查看存储空间的访问日志设置:
package main import ( "fmt" "os" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func main() { // 创建OSSClient实例。 client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } bucketName := "<yourBucketName>" // 查看存储空间的访问日志设置。 logRes, err := client.GetBucketLogging(bucketName) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } fmt.Println("Target Bucket: ", logRes.LoggingEnabled.TargetBucket) fmt.Println("Target Prefix: ", logRes.LoggingEnabled.TargetPrefix) }
关闭访问日志记录
以下代码用于关闭存储空间的访问日志记录:
package main import ( "fmt" "os" "github.com/aliyun/aliyun-oss-go-sdk/oss" ) func main() { // 创建OSSClient实例。 // client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>") if err != nil { fmt.Println("Error:", err) os.Exit(-1) } bucketName := "<yourBucketName>" // 关闭访问日志记录。 err = client.DeleteBucketLogging(bucketName) if err != nil { fmt.Println("Error:", err) os.Exit(-1) } }