"github.com/volcengine/ve-tos-golang-sdk/v2/tos"
func checkErr(err error) {
if serverErr, ok := err.(*tos.TosServerError); ok {
fmt.Println("Error:", serverErr.Error())
fmt.Println("Request ID:", serverErr.RequestID)
fmt.Println("Response Status Code:", serverErr.StatusCode)
fmt.Println("Response Header:", serverErr.Header)
fmt.Println("Response Err Code:", serverErr.Code)
fmt.Println("Response Err Msg:", serverErr.Message)
fmt.Println("Error:", err)
accessKey = os.Getenv("TOS_ACCESS_KEY")
secretKey = os.Getenv("TOS_SECRET_KEY")
endpoint = "https://tos-cn-beijing.volces.com"
bucketName = "*** Provide your bucket name ***"
ctx = context.Background()
client, err := tos.NewClientV2(endpoint, tos.WithRegion(region), tos.WithCredentials(tos.NewStaticCredentials(accessKey, secretKey)))
input := &tos.GetBucketReplicationInput{
output, err := client.GetBucketReplication(ctx, input)
fmt.Println("GetBucketReplication Request ID:", output.RequestID)
for _, rule := range output.Rules {
fmt.Println("rule id:", rule.ID)
fmt.Println("rule status:", rule.Status)
for _, prefix := range rule.PrefixSet {
fmt.Println("rule prefix:", prefix)
fmt.Println("rule dst bucket:", rule.Destination.Bucket)
fmt.Println("rule dst location:", rule.Destination.Location)
fmt.Println("rule dst storage class:", rule.Destination.StorageClass)
fmt.Println("rule dst storage class inherit directive:", rule.Destination.StorageClassInheritDirective)