You need to enable JavaScript to run this app.
Torch Object Storage

Torch Object Storage

Copy page
Download PDF
Manage Bucket Configuration
Managing Object Renaming (Go SDK)
Copy page
Download PDF
Managing Object Renaming (Go SDK)
TOS supports the renaming of individual objects within a bucket. To use the object renaming feature, you must first enable the bucket's renaming feature.​
Configure renaming rules​
Precautions​
  • The rename_enable parameter can only be set to True.​
  • The rename functionality is not supported when versioning is enabled for the bucket.​
Sample code​
The following code is used to configure the bucket to enable the renaming feature.​
​
package main​
​
import (​
"context"​
"fmt"​
"github.com/volcengine/ve-tos-golang-sdk/v2/tos"​
)​
​
func checkErr(err error) {​
if err != nil {​
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)​
} else {​
fmt.Println("Error:", err)​
}​
panic(err)​
}​
}​
​
func main() {​
var (​
accessKey = os.Getenv("TOS_ACCESS_KEY")​
secretKey = os.Getenv("TOS_SECRET_KEY")​
​
endpoint = "your endpoint"​
region = "your region"​
​
bucketName = "*** Provide your bucket name ***"​
​
ctx = context.Background()​
)​
​
client, err := tos.NewClientV2(endpoint, tos.WithRegion(region), tos.WithCredentials(tos.NewStaticCredentials(accessKey, secretKey)))​
checkErr(err)​
​
output, err := client.PutBucketRename(ctx, &tos.PutBucketRenameInput{​
Bucket: bucketName,​
RenameEnable: true,​
})​
checkErr(err)​
fmt.Println("PutBucketRename Request ID:", output.RequestID)​
}​
​
Retrieve renaming rules​
Precautions​
To obtain the renaming rules for a bucket, you must be the bucket owner.​
Sample code​
The following code is used to retrieve renaming rules.​
​
package main​
​
import (​
"context"​
"fmt"​
"github.com/volcengine/ve-tos-golang-sdk/v2/tos"​
)​
​
func checkErr(err error) {​
if err != nil {​
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)​
} else {​
fmt.Println("Error:", err)​
}​
panic(err)​
}​
}​
​
func main() {​
var (​
accessKey = os.Getenv("TOS_ACCESS_KEY")​
secretKey = os.Getenv("TOS_SECRET_KEY")​
​
endpoint = "your endpoint"​
region = "your region"​
​
bucketName = "*** Provide your bucket name ***"​
​
ctx = context.Background()​
)​
​
client, err := tos.NewClientV2(endpoint, tos.WithRegion(region), tos.WithCredentials(tos.NewStaticCredentials(accessKey, secretKey)))​
checkErr(err)​
​
output, err := client.GetBucketRename(ctx, &tos.GetBucketRenameInput{​
Bucket: bucketName,​
})​
checkErr(err)​
fmt.Println("GetBucketRename Request ID:", output.RequestID)​
}​
​
Delete renaming rules​
Precautions​
To remove a bucket's renaming rules, you must be the bucket owner.​
Sample code​
The following code is used to delete renaming rules.​
​
package main​
​
import (​
"context"​
"fmt"​
"github.com/volcengine/ve-tos-golang-sdk/v2/tos"​
)​
​
func checkErr(err error) {​
if err != nil {​
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)​
} else {​
fmt.Println("Error:", err)​
}​
panic(err)​
}​
}​
​
func main() {​
var (​
accessKey = os.Getenv("TOS_ACCESS_KEY")​
secretKey = os.Getenv("TOS_SECRET_KEY")​
​
endpoint = "your endpoint"​
region = "your region"​
​
bucketName = "*** Provide your bucket name ***"​
​
ctx = context.Background()​
)​
​
client, err := tos.NewClientV2(endpoint, tos.WithRegion(region), tos.WithCredentials(tos.NewStaticCredentials(accessKey, secretKey)))​
checkErr(err)​
​
output, err := client.DeleteBucketRename(ctx, &tos.DeleteBucketRenameInput{​
Bucket: bucketName,​
})​
checkErr(err)​
fmt.Println("DeleteBucketRename Request ID:", output.RequestID)​
}​
​
Relevant documentation​
  • For API documentation regarding enabling object renaming, refer to PutBucketRename.​
  • For details on the API for obtaining object renaming rules, see GetBucketRename.​
Last updated: 2026.08.07 17:41:28