tencent cloud

文档反馈

恢复归档对象

最后更新时间:2022-05-23 11:50:02

    简介

    本文档提供关于恢复归档对象操作相关的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    POST Object restore 恢复归档对象 将归档类型的对象取回访问

    恢复归档对象

    功能说明

    将归档类型的对象取回访问(POST Object restore)。

    方法原型

    func (s *ObjectService) PostRestore(ctx context.Context, key string, opt *ObjectRestoreOptions) (*Response, error) 
    

    请求示例

    package main                                                                                                                                                                                   
    import (
       "context"
       "github.com/tencentyun/cos-go-sdk-v5"
       "net/http"
       "net/url"
       "os"
    )
    func main() {
       // 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.intl.cloud.tencent.com/cos5/bucket
       // 替换为用户的 region,存储桶region可以在COS控制台“存储桶概览”查看 https://console.intl.cloud.tencent.com/ ,关于地域的详情见 https://intl.cloud.tencent.com/document/product/436/6224 。
       u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
       b := &cos.BaseURL{BucketURL: u}
       client := cos.NewClient(b, &http.Client{
           Transport: &cos.AuthorizationTransport{
               // 通过环境变量获取密钥
               // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.intl.cloud.tencent.com/cam/capi
               SecretID: os.Getenv("SECRETID"),
               // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.intl.cloud.tencent.com/cam/capi
               SecretKey: os.Getenv("SECRETKEY"),
           },
       })
       key := "example_restore"
       f, err := os.Open("/test")
       if err != nil {
           panic(err)
       }
       opt := &cos.ObjectPutOptions{
           ObjectPutHeaderOptions: &cos.ObjectPutHeaderOptions{
               ContentType:      "text/html",
               XCosStorageClass: "ARCHIVE", //归档类型
           },
           ACLHeaderOptions: &cos.ACLHeaderOptions{
               // 如果不是必要操作,建议上传文件时不要给单个文件设置权限,避免达到限制。若不设置默认继承桶的权限。
               XCosACL: "private",
           },
       }
       // 归档直传
       _, err = client.Object.Put(context.Background(), key, f, opt)
       if err != nil {
           panic(err)
       }
        opts := &cos.ObjectRestoreOptions{
           Days: 2,
           Tier: &cos.CASJobParameters{
               // Standard, Exepdited and Bulk
               Tier: "Expedited",
           },
       }
       // 归档恢复
       _, err = client.Object.PostRestore(context.Background(), key, opts)
       if err != nil {
           panic(err)
       }
    }
    

    参数说明

    type ObjectRestoreOptions struct {        
      Days    int               
      Tier    *CASJobParameters 
    }
    type CASJobParameters struct {
      Tier    string 
    }
    
    参数名称 参数描述 类型 是否必填
    key 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg中,对象键为 doc/pic.jpg string
    ObjectRestoreOptions 描述取回的临时文件的规则 struct
    Days 描述临时文件的过期时间 int
    CASJobParameters 描述恢复类型的配置信息 struct
    Tier 描述取回临时文件的模式。若恢复的是归档存储类型数据,可选值为 Expedited、Standard、Bulk,分别对应快速取回模式、标准取回模式以及批量取回模式这三种模式;若恢复的是深度归档存储类型数据,则可选值为 Standard、Bulk。 string
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持