After enabling access tracking, query the bucket to confirm the access tracking configuration.
package main
import (
"context"
"flag"
"log"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)
// Define global variables.
var (
region string // The bucket region.
bucketName string // The bucket name.
)
// The init function initializes command-line parameters.
func init() {
flag.StringVar(®ion, "region", "", "The region in which the bucket is located.")
flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")
}
func main() {
// Parse command-line parameters.
flag.Parse()
// Check whether the bucket name is empty.
if len(bucketName) == 0 {
flag.PrintDefaults()
log.Fatalf("invalid parameters, bucket name required")
}
// Check whether the region is empty.
if len(region) == 0 {
flag.PrintDefaults()
log.Fatalf("invalid parameters, region required")
}
// Load the default configurations, and set the credential provider and region.
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
WithRegion(region)
// Create an OSS client.
client := oss.NewClient(cfg)
// Create a request to query the access tracking configuration of the bucket.
request := &oss.GetBucketAccessMonitorRequest{
Bucket: oss.Ptr(bucketName),
}
// Execute the operation to query the access tracking configuration and process the result.
result, err := client.GetBucketAccessMonitor(context.TODO(), request)
if err != nil {
log.Fatalf("failed to get bucket access monitor %v", err)
}
// Print the result.
log.Printf("get bucket access monitor result:%#v\n", result)
}