API | Operation | Description |
Restoring an archived object | Restores an archived object for access. |
POST Object restore
) is used to restore an archived object for access.func (s *ObjectService) PostRestore(ctx context.Context, key string, opt *ObjectRestoreOptions) (*Response, error)
package mainimport ("context""github.com/tencentyun/cos-go-sdk-v5""net/http""net/url""os")func main(){// Bucket name in the format of `BucketName-APPID` (`APPID` is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.// Replace it with your region, which can be viewed in the COS console at https://console.tencentcloud.com/. For more information about regions, visit https://www.tencentcloud.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{// Get the key from environment variables// Environment variable `SECRETID` refers to the user's `SecretId`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.SecretID: os.Getenv("SECRETID"), // User `SecretId`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.// Environment variable `SECRETKEY` refers to the user's `SecretKey`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.SecretKey: os.Getenv("SECRETKEY"), // User `SecretKey`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.},})key := "example_restore"f, err := os.Open("/test")if err != nil{panic(err)}opt := &cos.ObjectPutOptions{ObjectPutHeaderOptions: &cos.ObjectPutHeaderOptions{ContentType: "text/html",XCosStorageClass: "ARCHIVE", //ARCHIVE storage class},ACLHeaderOptions: &cos.ACLHeaderOptions{// Considering the ACL limit, we recommend you not set an object ACL when uploading an object unless required. The object will then inherit the bucket ACL by default.XCosACL: "private",},}// Upload an object directly to ARCHIVE storage class_, err = client.Object.Put(context.Background(), key, f, opt)if err != nil{panic(err)}opts := &cos.ObjectRestoreOptions{Days: 2,Tier: &cos.CASJobParameters{// Standard, Expedited, and BulkTier: "Expedited",},}// Restore an archived object._, err = client.Object.PostRestore(context.Background(), key, opts)if err != nil{panic(err)}}
type ObjectRestoreOptions struct {Days intTier *CASJobParameters}type CASJobParameters struct {Tier string}
Parameter | Description | Type | Required |
key | Object key, unique identifier of an object in a bucket. For example, if the object endpoint is examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg , its object key is doc/pic.jpg | String | Yes |
ObjectRestoreOptions | Describes rules for retrieved temporary files | Struct | Yes |
Days | Specifies the number of days before a temporary object expires | Int | Yes |
CASJobParameters | Specifies the restoration configuration | Struct | No |
Tier | Object restoration mode. For ARCHIVE, valid values are Expedited , Standard , and Bulk . For DEEP ARCHIVE, valid values are Standard and Bulk . | String | No |
Was this page helpful?