You need to enable JavaScript to run this app.
导航
设置对象级过期时间(Go SDK)
最近更新时间:2025.09.02 16:41:28首次发布时间:2025.09.02 16:41:28
复制全文
我的收藏
有用
有用
无用
无用

您可以通过 TOS Go SDK 的 SetObjectExpires 接口设置已上传对象的过期时间,过期后,TOS 将自动删除该对象。

注意事项

  • 设置对象级过期时间,您必须具备 tos:SetObjectExpires 权限,具体操作,请参见权限配置指南
  • 使用 Go SDK 设置对象级过期时间,要求 Go SDK 为 v2.7.20 或以上版本。

示例代码

package main
import (
    "context"
    "fmt"
    "os"
    "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")
       // Bucket 对于的 Endpoint,以华北2(北京)为例:https://tos-cn-beijing.volces.com
       endpoint = "https://tos-cn-beijing.volces.com"
       region   = "cn-beijing"
       // 填写 BucketName
       bucketName = "*** Provide your bucket name ***"
       // 设置 example_dir 目录下的 example.txt 文件的过期时间
       objectKey  = "example_dir/example.txt"
       ctx        = context.Background()
    )
    // 初始化客户端
    client, err := tos.NewClientV2(endpoint, tos.WithRegion(region), tos.WithCredentials(tos.NewStaticCredentials(accessKey, secretKey)))
    checkErr(err)
    // 设置对象过期时间
    output, err := client.SetObjectExpires(ctx, &tos.SetObjectExpiresInput{
       Bucket:        bucketName,
       Key:           objectKey,
       // 取值为正整数或0;为0时表示永不过期。
       ObjectExpires: 1,
    })
    checkErr(err)
    fmt.Println("SetObjectExpires Request ID:", output.RequestID)
}

相关文档

关于设置对象级过期时间的 API 文档,请参见 SetObjectExpires