README

cos-go-sdk-v5

腾讯云对象存储服务 COS(Cloud Object Storage) Go SDK(API 版本:V5 版本的 XML API)。

Install

go get -u github.com/tencentyun/cos-go-sdk-v5

Usage

package main

import (
	"context"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/url"
	"os"
	"time"
	
	"github.com/tencentyun/cos-go-sdk-v5"
)

func main() {
	//将<bucket>和<region>修改为真实的信息
	//bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
	u, _ := url.Parse("https://<bucket>.cos.<region>.myqcloud.com")
	b := &cos.BaseURL{BucketURL: u}
	c := cos.NewClient(b, &http.Client{
		//设置超时时间
		Timeout: 100 * time.Second,
		Transport: &cos.AuthorizationTransport{
			//如实填写账号和密钥,也可以设置为环境变量
			SecretID:  os.Getenv("COS_SECRETID"),
			SecretKey: os.Getenv("COS_SECRETKEY"),
		},
	})

	name := "test/hello.txt"
	resp, err := c.Object.Get(context.Background(), name, nil)
	if err != nil {
		panic(err)
	}
	bs, _ := ioutil.ReadAll(resp.Body)
	resp.Body.Close()
	fmt.Printf("%s\n", string(bs))
}

所有的 API 在 example 目录下都有对应的使用示例。

Service API:

Bucket API:

Object API:

数据处理 API:

内容审核 API:

Expand ▾ Collapse ▴

Documentation

Overview

    Package cos is COS(Cloud Object Storage) Go SDK. The V5 version(XML API). There are examples of using each API in the project's 'example' directory.

    Index

    Constants

    View Source
    const (
    	// Version current go sdk version
    	Version = "0.7.24"
    )

    Variables

    This section is empty.

    Functions

    func AddAuthorizationHeader

    func AddAuthorizationHeader(secretID, secretKey string, sessionToken string, req *http.Request, authTime *AuthTime)

      AddAuthorizationHeader 给 req 增加签名信息

      func CheckReaderLen

      func CheckReaderLen(reader io.Reader) error

      func DecodeURIComponent

      func DecodeURIComponent(s string) (string, error)

      func DividePart

      func DividePart(fileSize int64, last int) (int64, int64)

      func EncodePicOperations

      func EncodePicOperations(pic *PicOperations) string

      func EncodeURIComponent

      func EncodeURIComponent(s string) string

      func GetReaderLen

      func GetReaderLen(reader io.Reader) (length int64, err error)

      func IsLenReader

      func IsLenReader(reader io.Reader) bool

      func IsNotFoundError

      func IsNotFoundError(e error) bool

      func LimitReadCloser

      func LimitReadCloser(r io.Reader, n int64) io.Reader

      func NewBucketURL

      func NewBucketURL(bucketName, region string, secure bool) *url.URL

        NewBucketURL 生成 BaseURL 所需的 BucketURL

        bucketName: bucket名称, bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Region: 区域代码: ap-beijing-1,ap-beijing,ap-shanghai,ap-guangzhou...
        secure: 是否使用 https
        

        func TeeReader

        func TeeReader(reader io.Reader, writer io.Writer, total int64, listener ProgressListener) *teeReader

        Types

        type ACLGrant

        type ACLGrant struct {
        	Grantee    *ACLGrantee
        	Permission string
        }

          ACLGrant is the param of ACLXml

          type ACLGrantee

          type ACLGrantee struct {
          	Type        string `xml:"type,attr"`
          	UIN         string `xml:"uin,omitempty"`
          	URI         string `xml:"URI,omitempty"`
          	ID          string `xml:",omitempty"`
          	DisplayName string `xml:",omitempty"`
          	SubAccount  string `xml:"Subaccount,omitempty"`
          }

            ACLGrantee is the param of ACLGrant

            type ACLHeaderOptions

            type ACLHeaderOptions struct {
            	XCosACL              string `header:"x-cos-acl,omitempty" url:"-" xml:"-"`
            	XCosGrantRead        string `header:"x-cos-grant-read,omitempty" url:"-" xml:"-"`
            	XCosGrantWrite       string `header:"x-cos-grant-write,omitempty" url:"-" xml:"-"`
            	XCosGrantFullControl string `header:"x-cos-grant-full-control,omitempty" url:"-" xml:"-"`
            	XCosGrantReadACP     string `header:"x-cos-grant-read-acp,omitempty" url:"-" xml:"-"`
            	XCosGrantWriteACP    string `header:"x-cos-grant-write-acp,omitempty" url:"-" xml:"-"`
            }

              ACLHeaderOptions is the option of ACLHeader

              type ACLXml

              type ACLXml struct {
              	XMLName           xml.Name `xml:"AccessControlPolicy"`
              	Owner             *Owner
              	AccessControlList []ACLGrant `xml:"AccessControlList>Grant,omitempty"`
              }

                ACLXml is the ACL body struct

                type Audio

                type Audio struct {
                	Codec      string `xml:"Codec"`
                	Samplerate string `xml:"Samplerate"`
                	Bitrate    string `xml:"Bitrate"`
                	Channels   string `xml:"Channels"`
                	Remove     string `xml:"Remove"`
                }

                type AuthTime

                type AuthTime struct {
                	SignStartTime time.Time
                	SignEndTime   time.Time
                	KeyStartTime  time.Time
                	KeyEndTime    time.Time
                }

                  AuthTime 用于生成签名所需的 q-sign-time 和 q-key-time 相关参数

                  func NewAuthTime

                  func NewAuthTime(expire time.Duration) *AuthTime

                    NewAuthTime 生成 AuthTime 的便捷函数

                    expire: 从现在开始多久过期.
                    

                    type AuthorizationTransport

                    type AuthorizationTransport struct {
                    	SecretID     string
                    	SecretKey    string
                    	SessionToken string
                    
                    	// 签名多久过期
                    	Expire    time.Duration
                    	Transport http.RoundTripper
                    	// contains filtered or unexported fields
                    }

                      AuthorizationTransport 给请求增加 Authorization header

                      func (*AuthorizationTransport) GetCredential

                      func (t *AuthorizationTransport) GetCredential() (string, string, string)

                        GetCredential get the ak, sk, token

                        func (*AuthorizationTransport) RoundTrip

                        func (t *AuthorizationTransport) RoundTrip(req *http.Request) (*http.Response, error)

                          RoundTrip implements the RoundTripper interface.

                          func (*AuthorizationTransport) SetCredential

                          func (t *AuthorizationTransport) SetCredential(ak, sk, token string)

                            SetCredential update the SecretID(ak), SercretKey(sk), sessiontoken

                            type BaseURL

                            type BaseURL struct {
                            	// 访问 bucket, object 相关 API 的基础 URL(不包含 path 部分): http://example.com
                            	BucketURL *url.URL
                            	// 访问 service API 的基础 URL(不包含 path 部分): http://example.com
                            	ServiceURL *url.URL
                            	// 访问 job API 的基础 URL (不包含 path 部分): http://example.com
                            	BatchURL *url.URL
                            	// 访问 CI 的基础 URL
                            	CIURL *url.URL
                            }

                              BaseURL 访问各 API 所需的基础 URL

                              type BatchAccessControlGrants

                              type BatchAccessControlGrants struct {
                              	COSGrants *BatchCOSGrant `xml:"COSGrant,omitempty" header:"-" url:"-"`
                              }

                              type BatchCOSGrant

                              type BatchCOSGrant struct {
                              	Grantee    *BatchGrantee `xml:"Grantee" header:"-" url:"-"`
                              	Permission string        `xml:"Permission" header:"-" url:"-"`
                              }

                              type BatchCreateJobOptions

                              type BatchCreateJobOptions struct {
                              	XMLName              xml.Name           `xml:"CreateJobRequest" header:"-" url:"-"`
                              	ClientRequestToken   string             `xml:"ClientRequestToken" header:"-" url:"-"`
                              	ConfirmationRequired string             `xml:"ConfirmationRequired,omitempty" header:"-" url:"-"`
                              	Description          string             `xml:"Description,omitempty" header:"-" url:"-"`
                              	Manifest             *BatchJobManifest  `xml:"Manifest" header:"-" url:"-"`
                              	Operation            *BatchJobOperation `xml:"Operation" header:"-" url:"-"`
                              	Priority             int                `xml:"Priority" header:"-" url:"-"`
                              	Report               *BatchJobReport    `xml:"Report" header:"-" url:"-"`
                              	RoleArn              string             `xml:"RoleArn" header:"-" url:"-"`
                              }

                              type BatchCreateJobResult

                              type BatchCreateJobResult struct {
                              	XMLName xml.Name `xml:"CreateJobResult"`
                              	JobId   string   `xml:"JobId,omitempty"`
                              }

                              type BatchDescribeJob

                              type BatchDescribeJob struct {
                              	ConfirmationRequired string                  `xml:"ConfirmationRequired,omitempty" header:"-" url:"-"`
                              	CreationTime         string                  `xml:"CreationTime,omitempty" header:"-" url:"-"`
                              	Description          string                  `xml:"Description,omitempty" header:"-" url:"-"`
                              	FailureReasons       *BatchJobFailureReasons `xml:"FailureReasons>JobFailure,omitempty" header:"-" url:"-"`
                              	JobId                string                  `xml:"JobId" header:"-" url:"-"`
                              	Manifest             *BatchJobManifest       `xml:"Manifest" header:"-" url:"-"`
                              	Operation            *BatchJobOperation      `xml:"Operation" header:"-" url:"-"`
                              	Priority             int                     `xml:"Priority" header:"-" url:"-"`
                              	ProgressSummary      *BatchProgressSummary   `xml:"ProgressSummary" header:"-" url:"-"`
                              	Report               *BatchJobReport         `xml:"Report,omitempty" header:"-" url:"-"`
                              	RoleArn              string                  `xml:"RoleArn,omitempty" header:"-" url:"-"`
                              	Status               string                  `xml:"Status,omitempty" header:"-" url:"-"`
                              	StatusUpdateReason   string                  `xml:"StatusUpdateReason,omitempty" header:"-" url:"-"`
                              	SuspendedCause       string                  `xml:"SuspendedCause,omitempty" header:"-" url:"-"`
                              	SuspendedDate        string                  `xml:"SuspendedDate,omitempty" header:"-" url:"-"`
                              	TerminationDate      string                  `xml:"TerminationDate,omitempty" header:"-" url:"-"`
                              }

                              type BatchDescribeJobResult

                              type BatchDescribeJobResult struct {
                              	XMLName xml.Name          `xml:"DescribeJobResult"`
                              	Job     *BatchDescribeJob `xml:"Job,omitempty"`
                              }

                              type BatchGrantee

                              type BatchGrantee struct {
                              	DisplayName    string `xml:"DisplayName,omitempty" header:"-" url:"-"`
                              	Identifier     string `xml:"Identifier" header:"-" url:"-"`
                              	TypeIdentifier string `xml:"TypeIdentifier" header:"-" url:"-"`
                              }

                              type BatchInitiateRestoreObject

                              type BatchInitiateRestoreObject struct {
                              	ExpirationInDays int    `xml:"ExpirationInDays"`
                              	JobTier          string `xml:"JobTier"`
                              }

                                BatchInitiateRestoreObject

                                type BatchJobFailureReasons

                                type BatchJobFailureReasons struct {
                                	FailureCode   string `xml:"FailureCode" header:"-" url:"-"`
                                	FailureReason string `xml:"FailureReason" header:"-" url:"-"`
                                }

                                type BatchJobManifest

                                type BatchJobManifest struct {
                                	Location *BatchJobManifestLocation `xml:"Location" header:"-" url:"-"`
                                	Spec     *BatchJobManifestSpec     `xml:"Spec" header:"-" url:"-"`
                                }

                                type BatchJobManifestLocation

                                type BatchJobManifestLocation struct {
                                	ETag            string `xml:"ETag" header:"-" url:"-"`
                                	ObjectArn       string `xml:"ObjectArn" header:"-" url:"-"`
                                	ObjectVersionId string `xml:"ObjectVersionId,omitempty" header:"-" url:"-"`
                                }

                                  BatchJobManifest

                                  type BatchJobManifestSpec

                                  type BatchJobManifestSpec struct {
                                  	Fields []string `xml:"Fields>member,omitempty" header:"-" url:"-"`
                                  	Format string   `xml:"Format" header:"-" url:"-"`
                                  }

                                  type BatchJobOperation

                                  type BatchJobOperation struct {
                                  	PutObjectCopy *BatchJobOperationCopy      `xml:"COSPutObjectCopy,omitempty" header:"-" url:"-"`
                                  	RestoreObject *BatchInitiateRestoreObject `xml:"COSInitiateRestoreObject,omitempty" header:"-" url:"-"`
                                  }

                                    BatchJobOperation

                                    type BatchJobOperationCopy

                                    type BatchJobOperationCopy struct {
                                    	AccessControlGrants       *BatchAccessControlGrants `xml:"AccessControlGrants,omitempty" header:"-" url:"-"`
                                    	CannedAccessControlList   string                    `xml:"CannedAccessControlList,omitempty" header:"-" url:"-"`
                                    	MetadataDirective         string                    `xml:"MetadataDirective,omitempty" header:"-" url:"-"`
                                    	ModifiedSinceConstraint   int64                     `xml:"ModifiedSinceConstraint,omitempty" header:"-" url:"-"`
                                    	UnModifiedSinceConstraint int64                     `xml:"UnModifiedSinceConstraint,omitempty" header:"-" url:"-"`
                                    	NewObjectMetadata         *BatchNewObjectMetadata   `xml:"NewObjectMetadata,omitempty" header:"-" url:"-"`
                                    	StorageClass              string                    `xml:"StorageClass,omitempty" header:"-" url:"-"`
                                    	TargetResource            string                    `xml:"TargetResource" header:"-" url:"-"`
                                    }

                                    type BatchJobReport

                                    type BatchJobReport struct {
                                    	Bucket      string `xml:"Bucket" header:"-" url:"-"`
                                    	Enabled     string `xml:"Enabled" header:"-" url:"-"`
                                    	Format      string `xml:"Format" header:"-" url:"-"`
                                    	Prefix      string `xml:"Prefix,omitempty" header:"-" url:"-"`
                                    	ReportScope string `xml:"ReportScope" header:"-" url:"-"`
                                    }

                                      BatchJobReport

                                      type BatchListJobs

                                      type BatchListJobs struct {
                                      	Members []BatchListJobsMember `xml:"member,omitempty" header:"-" url:"-"`
                                      }

                                      type BatchListJobsMember

                                      type BatchListJobsMember struct {
                                      	CreationTime    string                `xml:"CreationTime,omitempty" header:"-" url:"-"`
                                      	Description     string                `xml:"Description,omitempty" header:"-" url:"-"`
                                      	JobId           string                `xml:"JobId,omitempty" header:"-" url:"-"`
                                      	Operation       string                `xml:"Operation,omitempty" header:"-" url:"-"`
                                      	Priority        int                   `xml:"Priority,omitempty" header:"-" url:"-"`
                                      	ProgressSummary *BatchProgressSummary `xml:"ProgressSummary,omitempty" header:"-" url:"-"`
                                      	Status          string                `xml:"Status,omitempty" header:"-" url:"-"`
                                      	TerminationDate string                `xml:"TerminationDate,omitempty" header:"-" url:"-"`
                                      }

                                      type BatchListJobsOptions

                                      type BatchListJobsOptions struct {
                                      	JobStatuses string `url:"jobStatuses,omitempty" header:"-" xml:"-"`
                                      	MaxResults  int    `url:"maxResults,omitempty" header:"-" xml:"-"`
                                      	NextToken   string `url:"nextToken,omitempty" header:"-" xml:"-"`
                                      }

                                      type BatchListJobsResult

                                      type BatchListJobsResult struct {
                                      	XMLName   xml.Name       `xml:"ListJobsResult"`
                                      	Jobs      *BatchListJobs `xml:"Jobs,omitempty"`
                                      	NextToken string         `xml:"NextToken,omitempty"`
                                      }

                                      type BatchMetadata

                                      type BatchMetadata struct {
                                      	Key   string `xml:"Key" header:"-" url:"-"`
                                      	Value string `xml:"Value" header:"-" url:"-"`
                                      }

                                        BatchJobOperationCopy

                                        type BatchNewObjectMetadata

                                        type BatchNewObjectMetadata struct {
                                        	CacheControl       string          `xml:"CacheControl,omitempty" header:"-" url:"-"`
                                        	ContentDisposition string          `xml:"ContentDisposition,omitempty" header:"-" url:"-"`
                                        	ContentEncoding    string          `xml:"ContentEncoding,omitempty" header:"-" url:"-"`
                                        	ContentType        string          `xml:"ContentType,omitempty" header:"-" url:"-"`
                                        	HttpExpiresDate    string          `xml:"HttpExpiresDate,omitempty" header:"-" url:"-"`
                                        	SSEAlgorithm       string          `xml:"SSEAlgorithm,omitempty" header:"-" url:"-"`
                                        	UserMetadata       []BatchMetadata `xml:"UserMetadata>member,omitempty" header:"-" url:"-"`
                                        }

                                        type BatchProgressSummary

                                        type BatchProgressSummary struct {
                                        	NumberOfTasksFailed    int `xml:"NumberOfTasksFailed" header:"-" url:"-"`
                                        	NumberOfTasksSucceeded int `xml:"NumberOfTasksSucceeded" header:"-" url:"-"`
                                        	TotalNumberOfTasks     int `xml:"TotalNumberOfTasks" header:"-" url:"-"`
                                        }

                                          BatchProgressSummary

                                          type BatchRequestHeaders

                                          type BatchRequestHeaders struct {
                                          	XCosAppid     int          `header:"x-cos-appid" xml:"-" url:"-"`
                                          	ContentLength string       `header:"Content-Length,omitempty" xml:"-" url:"-"`
                                          	ContentType   string       `header:"Content-Type,omitempty" xml:"-" url:"-"`
                                          	Headers       *http.Header `header:"-" xml:"-" url:"-"`
                                          }

                                          type BatchService

                                          type BatchService service

                                          func (*BatchService) CreateJob

                                          func (*BatchService) DescribeJob

                                          func (*BatchService) ListJobs

                                          func (*BatchService) UpdateJobPriority

                                          func (*BatchService) UpdateJobStatus

                                          type BatchUpdatePriorityOptions

                                          type BatchUpdatePriorityOptions struct {
                                          	JobId    string `url:"-" header:"-" xml:"-"`
                                          	Priority int    `url:"priority" header:"-" xml:"-"`
                                          }

                                          type BatchUpdatePriorityResult

                                          type BatchUpdatePriorityResult struct {
                                          	XMLName  xml.Name `xml:"UpdateJobPriorityResult"`
                                          	JobId    string   `xml:"JobId,omitempty"`
                                          	Priority int      `xml:"Priority,omitempty"`
                                          }

                                          type BatchUpdateStatusOptions

                                          type BatchUpdateStatusOptions struct {
                                          	JobId              string `header:"-" url:"-" xml:"-"`
                                          	RequestedJobStatus string `url:"requestedJobStatus" header:"-" xml:"-"`
                                          	StatusUpdateReason string `url:"statusUpdateReason,omitempty" header:"-" xml:"-"`
                                          }

                                          type BatchUpdateStatusResult

                                          type BatchUpdateStatusResult struct {
                                          	XMLName            xml.Name `xml:"UpdateJobStatusResult"`
                                          	JobId              string   `xml:"JobId,omitempty"`
                                          	Status             string   `xml:"Status,omitempty"`
                                          	StatusUpdateReason string   `xml:"StatusUpdateReason,omitempty"`
                                          }

                                          type Bucket

                                          type Bucket struct {
                                          	Name         string
                                          	Region       string `xml:"Location,omitempty"`
                                          	CreationDate string `xml:",omitempty"`
                                          }

                                            Bucket is the meta info of Bucket

                                            type BucketCORSRule

                                            type BucketCORSRule struct {
                                            	ID             string   `xml:"ID,omitempty"`
                                            	AllowedMethods []string `xml:"AllowedMethod"`
                                            	AllowedOrigins []string `xml:"AllowedOrigin"`
                                            	AllowedHeaders []string `xml:"AllowedHeader,omitempty"`
                                            	MaxAgeSeconds  int      `xml:"MaxAgeSeconds,omitempty"`
                                            	ExposeHeaders  []string `xml:"ExposeHeader,omitempty"`
                                            }

                                              BucketCORSRule is the rule of BucketCORS

                                              type BucketEncryptionConfiguration

                                              type BucketEncryptionConfiguration struct {
                                              	SSEAlgorithm string `xml:"SSEAlgorithm"`
                                              }

                                              type BucketGetACLResult

                                              type BucketGetACLResult = ACLXml

                                                BucketGetACLResult is same to the ACLXml

                                                type BucketGetAccelerateResult

                                                type BucketGetAccelerateResult BucketPutAccelerateOptions

                                                type BucketGetCORSResult

                                                type BucketGetCORSResult struct {
                                                	XMLName xml.Name         `xml:"CORSConfiguration"`
                                                	Rules   []BucketCORSRule `xml:"CORSRule,omitempty"`
                                                }

                                                  BucketGetCORSResult is the result of GetBucketCORS

                                                  type BucketGetDomainResult

                                                  type BucketGetDomainResult BucketPutDomainOptions

                                                  type BucketGetEncryptionResult

                                                  type BucketGetEncryptionResult BucketPutEncryptionOptions

                                                  type BucketGetIntelligentTieringResult

                                                  type BucketGetIntelligentTieringResult BucketPutIntelligentTieringOptions

                                                  type BucketGetInventoryResult

                                                  type BucketGetInventoryResult BucketPutInventoryOptions

                                                    BucketGetInventoryResult same struct to options

                                                    type BucketGetLifecycleResult

                                                    type BucketGetLifecycleResult struct {
                                                    	XMLName xml.Name              `xml:"LifecycleConfiguration"`
                                                    	Rules   []BucketLifecycleRule `xml:"Rule,omitempty"`
                                                    }

                                                      BucketGetLifecycleResult is the result of BucketGetLifecycle

                                                      type BucketGetLocationResult

                                                      type BucketGetLocationResult struct {
                                                      	XMLName  xml.Name `xml:"LocationConstraint"`
                                                      	Location string   `xml:",chardata"`
                                                      }

                                                        BucketGetLocationResult is the result of BucketGetLocation

                                                        type BucketGetLoggingResult

                                                        type BucketGetLoggingResult BucketPutLoggingOptions

                                                          BucketGetLoggingResult is the result of GetBucketLogging

                                                          type BucketGetObjectVersionsOptions

                                                          type BucketGetObjectVersionsOptions struct {
                                                          	Prefix          string `url:"prefix,omitempty"`
                                                          	Delimiter       string `url:"delimiter,omitempty"`
                                                          	EncodingType    string `url:"encoding-type,omitempty"`
                                                          	KeyMarker       string `url:"key-marker,omitempty"`
                                                          	VersionIdMarker string `url:"version-id-marker,omitempty"`
                                                          	MaxKeys         int    `url:"max-keys,omitempty"`
                                                          }

                                                          type BucketGetObjectVersionsResult

                                                          type BucketGetObjectVersionsResult struct {
                                                          	XMLName             xml.Name                         `xml:"ListVersionsResult"`
                                                          	Name                string                           `xml:"Name,omitempty"`
                                                          	EncodingType        string                           `xml:"EncodingType,omitempty"`
                                                          	Prefix              string                           `xml:"Prefix,omitempty"`
                                                          	KeyMarker           string                           `xml:"KeyMarker,omitempty"`
                                                          	VersionIdMarker     string                           `xml:"VersionIdMarker,omitempty"`
                                                          	MaxKeys             int                              `xml:"MaxKeys,omitempty"`
                                                          	Delimiter           string                           `xml:"Delimiter,omitempty"`
                                                          	IsTruncated         bool                             `xml:"IsTruncated,omitempty"`
                                                          	NextKeyMarker       string                           `xml:"NextKeyMarker,omitempty"`
                                                          	NextVersionIdMarker string                           `xml:"NextVersionIdMarker,omitempty"`
                                                          	CommonPrefixes      []string                         `xml:"CommonPrefixes>Prefix,omitempty"`
                                                          	Version             []ListVersionsResultVersion      `xml:"Version,omitempty"`
                                                          	DeleteMarker        []ListVersionsResultDeleteMarker `xml:"DeleteMarker,omitempty"`
                                                          }

                                                          type BucketGetOptions

                                                          type BucketGetOptions struct {
                                                          	Prefix       string `url:"prefix,omitempty"`
                                                          	Delimiter    string `url:"delimiter,omitempty"`
                                                          	EncodingType string `url:"encoding-type,omitempty"`
                                                          	Marker       string `url:"marker,omitempty"`
                                                          	MaxKeys      int    `url:"max-keys,omitempty"`
                                                          }

                                                            BucketGetOptions is the option of GetBucket

                                                            type BucketGetOriginResult

                                                            type BucketGetOriginResult BucketPutOriginOptions

                                                            type BucketGetPolicyResult

                                                            type BucketGetPolicyResult BucketPutPolicyOptions

                                                            type BucketGetRefererResult

                                                            type BucketGetRefererResult BucketPutRefererOptions

                                                            type BucketGetResult

                                                            type BucketGetResult struct {
                                                            	XMLName        xml.Name `xml:"ListBucketResult"`
                                                            	Name           string
                                                            	Prefix         string `xml:"Prefix,omitempty"`
                                                            	Marker         string `xml:"Marker,omitempty"`
                                                            	NextMarker     string `xml:"NextMarker,omitempty"`
                                                            	Delimiter      string `xml:"Delimiter,omitempty"`
                                                            	MaxKeys        int
                                                            	IsTruncated    bool
                                                            	Contents       []Object `xml:"Contents,omitempty"`
                                                            	CommonPrefixes []string `xml:"CommonPrefixes>Prefix,omitempty"`
                                                            	EncodingType   string   `xml:"Encoding-Type,omitempty"`
                                                            }

                                                              BucketGetResult is the result of GetBucket

                                                              type BucketGetTaggingResult

                                                              type BucketGetTaggingResult struct {
                                                              	XMLName xml.Name           `xml:"Tagging"`
                                                              	TagSet  []BucketTaggingTag `xml:"TagSet>Tag,omitempty"`
                                                              }

                                                                BucketGetTaggingResult is the result of BucketGetTagging

                                                                type BucketGetVersionResult

                                                                type BucketGetVersionResult BucketPutVersionOptions

                                                                  BucketGetVersionResult is the result of GetBucketVersioning

                                                                  type BucketGetWebsiteResult

                                                                  type BucketGetWebsiteResult BucketPutWebsiteOptions

                                                                  type BucketIntelligentTieringTransition

                                                                  type BucketIntelligentTieringTransition struct {
                                                                  	Days            int `xml:"Days,omitempty"`
                                                                  	RequestFrequent int `xml:"RequestFrequent,omitempty"`
                                                                  }

                                                                  type BucketInventoryDestination

                                                                  type BucketInventoryDestination struct {
                                                                  	Bucket     string                     `xml:"Bucket"`
                                                                  	AccountId  string                     `xml:"AccountId,omitempty"`
                                                                  	Prefix     string                     `xml:"Prefix,omitempty"`
                                                                  	Format     string                     `xml:"Format"`
                                                                  	Encryption *BucketInventoryEncryption `xml:"Encryption,omitempty"`
                                                                  }

                                                                    BucketInventoryDestination ...

                                                                    type BucketInventoryEncryption

                                                                    type BucketInventoryEncryption struct {
                                                                    	SSECOS string `xml:"SSE-COS"`
                                                                    }

                                                                      BucketInventoryEncryption ...

                                                                      type BucketInventoryFilter

                                                                      type BucketInventoryFilter struct {
                                                                      	Prefix string `xml:"Prefix,omitempty"`
                                                                      }

                                                                        BucketInventoryFilter ...

                                                                        type BucketInventoryOptionalFields

                                                                        type BucketInventoryOptionalFields struct {
                                                                        	BucketInventoryFields []string `xml:"Field,omitempty"`
                                                                        }

                                                                          BucketInventoryOptionalFields ...

                                                                          type BucketInventorySchedule

                                                                          type BucketInventorySchedule struct {
                                                                          	Frequency string `xml:"Frequency"`
                                                                          }

                                                                            BucketInventorySchedule ...

                                                                            type BucketLifecycleAbortIncompleteMultipartUpload

                                                                            type BucketLifecycleAbortIncompleteMultipartUpload struct {
                                                                            	DaysAfterInitiation int `xml:"DaysAfterInitiation,omitempty"`
                                                                            }

                                                                              BucketLifecycleAbortIncompleteMultipartUpload is the param of BucketLifecycleRule

                                                                              type BucketLifecycleExpiration

                                                                              type BucketLifecycleExpiration struct {
                                                                              	Date string `xml:"Date,omitempty"`
                                                                              	Days int    `xml:"Days,omitempty"`
                                                                              }

                                                                                BucketLifecycleExpiration is the param of BucketLifecycleRule

                                                                                type BucketLifecycleFilter

                                                                                type BucketLifecycleFilter struct {
                                                                                	Prefix string `xml:"Prefix,omitempty"`
                                                                                }

                                                                                  BucketLifecycleFilter is the param of BucketLifecycleRule

                                                                                  type BucketLifecycleRule

                                                                                  type BucketLifecycleRule struct {
                                                                                  	ID                             string `xml:"ID,omitempty"`
                                                                                  	Status                         string
                                                                                  	Filter                         *BucketLifecycleFilter                         `xml:"Filter,omitempty"`
                                                                                  	Transition                     *BucketLifecycleTransition                     `xml:"Transition,omitempty"`
                                                                                  	Expiration                     *BucketLifecycleExpiration                     `xml:"Expiration,omitempty"`
                                                                                  	AbortIncompleteMultipartUpload *BucketLifecycleAbortIncompleteMultipartUpload `xml:"AbortIncompleteMultipartUpload,omitempty"`
                                                                                  }

                                                                                    BucketLifecycleRule is the rule of BucketLifecycle

                                                                                    type BucketLifecycleTransition

                                                                                    type BucketLifecycleTransition struct {
                                                                                    	Date         string `xml:"Date,omitempty"`
                                                                                    	Days         int    `xml:"Days,omitempty"`
                                                                                    	StorageClass string
                                                                                    }

                                                                                      BucketLifecycleTransition is the param of BucketLifecycleRule

                                                                                      type BucketListInventoryConfiguartion

                                                                                      type BucketListInventoryConfiguartion BucketPutInventoryOptions

                                                                                        BucketListInventoryConfiguartion same struct to options

                                                                                        type BucketLoggingEnabled

                                                                                        type BucketLoggingEnabled struct {
                                                                                        	TargetBucket string `xml:"TargetBucket"`
                                                                                        	TargetPrefix string `xml:"TargetPrefix"`
                                                                                        }

                                                                                          BucketLoggingEnabled main struct of logging

                                                                                          type BucketOriginCondition

                                                                                          type BucketOriginCondition struct {
                                                                                          	HTTPStatusCode string `xml:"HTTPStatusCode,omitempty"`
                                                                                          	Prefix         string `xml:"Prefix,omitempty"`
                                                                                          }

                                                                                          type BucketOriginFileInfo

                                                                                          type BucketOriginFileInfo struct {
                                                                                          	PrefixDirective bool   `xml:"PrefixDirective,omitempty"`
                                                                                          	Prefix          string `xml:"Prefix,omitempty"`
                                                                                          	Suffix          string `xml:"Suffix,omitempty"`
                                                                                          }

                                                                                          type BucketOriginHttpHeader

                                                                                          type BucketOriginHttpHeader struct {
                                                                                          	// 目前还不支持 FollowAllHeaders
                                                                                          	// FollowAllHeaders  bool              `xml:"FollowAllHeaders,omitempty"`
                                                                                          	NewHttpHeaders    []OriginHttpHeader `xml:"NewHttpHeaders>Header,omitempty"`
                                                                                          	FollowHttpHeaders []OriginHttpHeader `xml:"FollowHttpHeaders>Header,omitempty"`
                                                                                          }

                                                                                          type BucketOriginInfo

                                                                                          type BucketOriginInfo struct {
                                                                                          	HostInfo string                `xml:"HostInfo>HostName,omitempty"`
                                                                                          	FileInfo *BucketOriginFileInfo `xml:"FileInfo,omitempty"`
                                                                                          }

                                                                                          type BucketOriginParameter

                                                                                          type BucketOriginParameter struct {
                                                                                          	Protocol          string                  `xml:"Protocol,omitempty"`
                                                                                          	FollowQueryString bool                    `xml:"FollowQueryString,omitempty"`
                                                                                          	HttpHeader        *BucketOriginHttpHeader `xml:"HttpHeader,omitempty"`
                                                                                          	FollowRedirection bool                    `xml:"FollowRedirection,omitempty"`
                                                                                          	HttpRedirectCode  string                  `xml:"HttpRedirectCode,omitempty"`
                                                                                          	CopyOriginData    bool                    `xml:"CopyOriginData,omitempty"`
                                                                                          }

                                                                                          type BucketOriginRule

                                                                                          type BucketOriginRule struct {
                                                                                          	OriginType      string                 `xml:"OriginType"`
                                                                                          	OriginCondition *BucketOriginCondition `xml:"OriginCondition"`
                                                                                          	OriginParameter *BucketOriginParameter `xml:"OriginParameter"`
                                                                                          	OriginInfo      *BucketOriginInfo      `xml:"OriginInfo"`
                                                                                          }

                                                                                          type BucketPutACLOptions

                                                                                          type BucketPutACLOptions struct {
                                                                                          	Header *ACLHeaderOptions `url:"-" xml:"-"`
                                                                                          	Body   *ACLXml           `url:"-" header:"-"`
                                                                                          }

                                                                                            BucketPutACLOptions is the option of PutBucketACL

                                                                                            type BucketPutAccelerateOptions

                                                                                            type BucketPutAccelerateOptions struct {
                                                                                            	XMLName xml.Name `xml:"AccelerateConfiguration"`
                                                                                            	Status  string   `xml:"Status,omitempty"`
                                                                                            	Type    string   `xml:"Type,omitempty"`
                                                                                            }

                                                                                            type BucketPutCORSOptions

                                                                                            type BucketPutCORSOptions struct {
                                                                                            	XMLName xml.Name         `xml:"CORSConfiguration"`
                                                                                            	Rules   []BucketCORSRule `xml:"CORSRule,omitempty"`
                                                                                            }

                                                                                              BucketPutCORSOptions is the option of PutBucketCORS

                                                                                              type BucketPutDomainOptions

                                                                                              type BucketPutDomainOptions struct {
                                                                                              	XMLName           xml.Name `xml:"DomainConfiguration"`
                                                                                              	Status            string   `xml:"DomainRule>Status"`
                                                                                              	Name              string   `xml:"DomainRule>Name"`
                                                                                              	Type              string   `xml:"DomainRule>Type"`
                                                                                              	ForcedReplacement string   `xml:"DomainRule>ForcedReplacement,omitempty"`
                                                                                              }

                                                                                              type BucketPutEncryptionOptions

                                                                                              type BucketPutEncryptionOptions struct {
                                                                                              	XMLName xml.Name                       `xml:"ServerSideEncryptionConfiguration"`
                                                                                              	Rule    *BucketEncryptionConfiguration `xml:"Rule>ApplyServerSideEncryptionByDefault"`
                                                                                              }

                                                                                              type BucketPutIntelligentTieringOptions

                                                                                              type BucketPutIntelligentTieringOptions struct {
                                                                                              	XMLName    xml.Name                            `xml:"IntelligentTieringConfiguration"`
                                                                                              	Status     string                              `xml:"Status,omitempty"`
                                                                                              	Transition *BucketIntelligentTieringTransition `xml:"Transition,omitempty"`
                                                                                              }

                                                                                              type BucketPutInventoryOptions

                                                                                              type BucketPutInventoryOptions struct {
                                                                                              	XMLName                xml.Name                       `xml:"InventoryConfiguration"`
                                                                                              	ID                     string                         `xml:"Id"`
                                                                                              	IsEnabled              string                         `xml:"IsEnabled"`
                                                                                              	IncludedObjectVersions string                         `xml:"IncludedObjectVersions"`
                                                                                              	Filter                 *BucketInventoryFilter         `xml:"Filter,omitempty"`
                                                                                              	OptionalFields         *BucketInventoryOptionalFields `xml:"OptionalFields,omitempty"`
                                                                                              	Schedule               *BucketInventorySchedule       `xml:"Schedule"`
                                                                                              	Destination            *BucketInventoryDestination    `xml:"Destination>COSBucketDestination"`
                                                                                              }

                                                                                                BucketPutInventoryOptions ...

                                                                                                type BucketPutLifecycleOptions

                                                                                                type BucketPutLifecycleOptions struct {
                                                                                                	XMLName xml.Name              `xml:"LifecycleConfiguration"`
                                                                                                	Rules   []BucketLifecycleRule `xml:"Rule,omitempty"`
                                                                                                }

                                                                                                  BucketPutLifecycleOptions is the option of PutBucketLifecycle

                                                                                                  type BucketPutLoggingOptions

                                                                                                  type BucketPutLoggingOptions struct {
                                                                                                  	XMLName        xml.Name              `xml:"BucketLoggingStatus"`
                                                                                                  	LoggingEnabled *BucketLoggingEnabled `xml:"LoggingEnabled,omitempty"`
                                                                                                  }

                                                                                                    BucketPutLoggingOptions is the options of PutBucketLogging

                                                                                                    type BucketPutOptions

                                                                                                    type BucketPutOptions ACLHeaderOptions

                                                                                                      BucketPutOptions is same to the ACLHeaderOptions

                                                                                                      type BucketPutOriginOptions

                                                                                                      type BucketPutOriginOptions struct {
                                                                                                      	XMLName xml.Name           `xml:"OriginConfiguration"`
                                                                                                      	Rule    []BucketOriginRule `xml:"OriginRule"`
                                                                                                      }

                                                                                                      type BucketPutPolicyOptions

                                                                                                      type BucketPutPolicyOptions struct {
                                                                                                      	Statement []BucketStatement   `json:"statement,omitempty"`
                                                                                                      	Version   string              `json:"version,omitempty"`
                                                                                                      	Principal map[string][]string `json:"principal,omitempty"`
                                                                                                      }

                                                                                                      type BucketPutRefererOptions

                                                                                                      type BucketPutRefererOptions struct {
                                                                                                      	XMLName                 xml.Name `xml:"RefererConfiguration"`
                                                                                                      	Status                  string   `xml:"Status"`
                                                                                                      	RefererType             string   `xml:"RefererType"`
                                                                                                      	DomainList              []string `xml:"DomainList>Domain"`
                                                                                                      	EmptyReferConfiguration string   `xml:"EmptyReferConfiguration,omitempty"`
                                                                                                      }

                                                                                                      type BucketPutTaggingOptions

                                                                                                      type BucketPutTaggingOptions struct {
                                                                                                      	XMLName xml.Name           `xml:"Tagging"`
                                                                                                      	TagSet  []BucketTaggingTag `xml:"TagSet>Tag,omitempty"`
                                                                                                      }

                                                                                                        BucketPutTaggingOptions is the option of BucketPutTagging

                                                                                                        type BucketPutVersionOptions

                                                                                                        type BucketPutVersionOptions struct {
                                                                                                        	XMLName xml.Name `xml:"VersioningConfiguration"`
                                                                                                        	Status  string   `xml:"Status"`
                                                                                                        }

                                                                                                          BucketPutVersionOptions is the options of PutBucketVersioning

                                                                                                          type BucketPutWebsiteOptions

                                                                                                          type BucketPutWebsiteOptions struct {
                                                                                                          	XMLName          xml.Name                  `xml:"WebsiteConfiguration"`
                                                                                                          	Index            string                    `xml:"IndexDocument>Suffix"`
                                                                                                          	RedirectProtocol *RedirectRequestsProtocol `xml:"RedirectAllRequestsTo,omitempty"`
                                                                                                          	Error            *ErrorDocument            `xml:"ErrorDocument,omitempty"`
                                                                                                          	RoutingRules     *WebsiteRoutingRules      `xml:"RoutingRules,omitempty"`
                                                                                                          }

                                                                                                          type BucketReplicationRule

                                                                                                          type BucketReplicationRule struct {
                                                                                                          	ID          string                  `xml:"ID,omitempty"`
                                                                                                          	Status      string                  `xml:"Status"`
                                                                                                          	Prefix      string                  `xml:"Prefix"`
                                                                                                          	Destination *ReplicationDestination `xml:"Destination"`
                                                                                                          }

                                                                                                            BucketReplicationRule is the main param of replication

                                                                                                            type BucketService

                                                                                                            type BucketService service

                                                                                                              BucketService 相关 API

                                                                                                              func (*BucketService) Delete

                                                                                                              func (s *BucketService) Delete(ctx context.Context) (*Response, error)

                                                                                                                Delete Bucket请求可以在指定账号下删除Bucket,删除之前要求Bucket为空。

                                                                                                                https://www.qcloud.com/document/product/436/7732

                                                                                                                func (*BucketService) DeleteBucketReplication

                                                                                                                func (s *BucketService) DeleteBucketReplication(ctx context.Context) (*Response, error)

                                                                                                                  DeleteBucketReplication https://cloud.tencent.com/document/product/436/19221

                                                                                                                  func (*BucketService) DeleteCORS

                                                                                                                  func (s *BucketService) DeleteCORS(ctx context.Context) (*Response, error)

                                                                                                                    DeleteCORS 实现 Bucket 跨域访问配置删除。

                                                                                                                    https://www.qcloud.com/document/product/436/8283

                                                                                                                    func (*BucketService) DeleteEncryption

                                                                                                                    func (s *BucketService) DeleteEncryption(ctx context.Context) (*Response, error)

                                                                                                                    func (*BucketService) DeleteInventory

                                                                                                                    func (s *BucketService) DeleteInventory(ctx context.Context, id string) (*Response, error)

                                                                                                                      DeleteBucketInventory https://cloud.tencent.com/document/product/436/33704

                                                                                                                      func (*BucketService) DeleteLifecycle

                                                                                                                      func (s *BucketService) DeleteLifecycle(ctx context.Context) (*Response, error)

                                                                                                                        DeleteLifecycle 请求实现删除生命周期管理。 https://www.qcloud.com/document/product/436/8284

                                                                                                                        func (*BucketService) DeleteOrigin

                                                                                                                        func (s *BucketService) DeleteOrigin(ctx context.Context) (*Response, error)

                                                                                                                        func (*BucketService) DeletePolicy

                                                                                                                        func (s *BucketService) DeletePolicy(ctx context.Context) (*Response, error)

                                                                                                                        func (*BucketService) DeleteTagging

                                                                                                                        func (s *BucketService) DeleteTagging(ctx context.Context) (*Response, error)

                                                                                                                          DeleteTagging 接口实现删除指定Bucket的标签。

                                                                                                                          https://www.qcloud.com/document/product/436/8286

                                                                                                                          func (*BucketService) DeleteWebsite

                                                                                                                          func (s *BucketService) DeleteWebsite(ctx context.Context) (*Response, error)

                                                                                                                          func (*BucketService) Get

                                                                                                                            Get Bucket请求等同于 List Object请求,可以列出该Bucket下部分或者所有Object,发起该请求需要拥有Read权限。

                                                                                                                            https://www.qcloud.com/document/product/436/7734

                                                                                                                            func (*BucketService) GetACL

                                                                                                                              GetACL 使用API读取Bucket的ACL表,只有所有者有权操作。

                                                                                                                              https://www.qcloud.com/document/product/436/7733

                                                                                                                              func (*BucketService) GetAccelerate

                                                                                                                              func (*BucketService) GetBucketReplication

                                                                                                                              func (s *BucketService) GetBucketReplication(ctx context.Context) (*GetBucketReplicationResult, *Response, error)

                                                                                                                                GetBucketReplication https://cloud.tencent.com/document/product/436/19222

                                                                                                                                func (*BucketService) GetCORS

                                                                                                                                  GetCORS 实现 Bucket 跨域访问配置读取。

                                                                                                                                  https://www.qcloud.com/document/product/436/8274

                                                                                                                                  func (*BucketService) GetDomain

                                                                                                                                  func (*BucketService) GetEncryption

                                                                                                                                  func (*BucketService) GetIntelligentTiering

                                                                                                                                  func (s *BucketService) GetIntelligentTiering(ctx context.Context) (*BucketGetIntelligentTieringResult, *Response, error)

                                                                                                                                  func (*BucketService) GetLifecycle

                                                                                                                                    GetLifecycle 请求实现读取生命周期管理的配置。当配置不存在时,返回404 Not Found。 https://www.qcloud.com/document/product/436/8278

                                                                                                                                    func (*BucketService) GetLocation

                                                                                                                                      GetLocation 接口获取Bucket所在地域信息,只有Bucket所有者有权限读取信息。

                                                                                                                                      https://www.qcloud.com/document/product/436/8275

                                                                                                                                      func (*BucketService) GetOrigin

                                                                                                                                      func (*BucketService) GetPolicy

                                                                                                                                      func (*BucketService) GetReferer

                                                                                                                                      func (*BucketService) GetTagging

                                                                                                                                        GetTagging 接口实现获取指定Bucket的标签。

                                                                                                                                        https://www.qcloud.com/document/product/436/8277

                                                                                                                                        func (*BucketService) GetWebsite

                                                                                                                                        func (*BucketService) Head

                                                                                                                                        func (s *BucketService) Head(ctx context.Context) (*Response, error)

                                                                                                                                          Head Bucket请求可以确认是否存在该Bucket,是否有权限访问,Head的权限与Read一致。

                                                                                                                                          当其存在时,返回 HTTP 状态码200;
                                                                                                                                          当无权限时,返回 HTTP 状态码403;
                                                                                                                                          当不存在时,返回 HTTP 状态码404。
                                                                                                                                          

                                                                                                                                          https://www.qcloud.com/document/product/436/7735

                                                                                                                                          func (*BucketService) ListInventoryConfigurations

                                                                                                                                          func (s *BucketService) ListInventoryConfigurations(ctx context.Context, token string) (*ListBucketInventoryConfigResult, *Response, error)

                                                                                                                                            ListBucketInventoryConfigurations https://cloud.tencent.com/document/product/436/33706

                                                                                                                                            func (*BucketService) ListMultipartUploads

                                                                                                                                              ListMultipartUploads 用来查询正在进行中的分块上传。单次最多列出1000个正在进行中的分块上传。

                                                                                                                                              https://www.qcloud.com/document/product/436/7736

                                                                                                                                              func (*BucketService) Put

                                                                                                                                                Put Bucket请求可以在指定账号下创建一个Bucket。

                                                                                                                                                https://www.qcloud.com/document/product/436/7738

                                                                                                                                                func (*BucketService) PutACL

                                                                                                                                                  PutACL 使用API写入Bucket的ACL表,您可以通过Header:"x-cos-acl","x-cos-grant-read", "x-cos-grant-write","x-cos-grant-full-control"传入ACL信息,也可以通过body以XML格式传入ACL信息,

                                                                                                                                                  但是只能选择Header和Body其中一种,否则返回冲突。

                                                                                                                                                  Put Bucket ACL是一个覆盖操作,传入新的ACL将覆盖原有ACL。只有所有者有权操作。

                                                                                                                                                  "x-cos-acl":枚举值为public-read,private;public-read意味这个Bucket有公有读私有写的权限,
                                                                                                                                                  private意味这个Bucket有私有读写的权限。
                                                                                                                                                  
                                                                                                                                                  "x-cos-grant-read":意味被赋予权限的用户拥有该Bucket的读权限
                                                                                                                                                  "x-cos-grant-write":意味被赋予权限的用户拥有该Bucket的写权限
                                                                                                                                                  "x-cos-grant-full-control":意味被赋予权限的用户拥有该Bucket的读写权限
                                                                                                                                                  

                                                                                                                                                  https://www.qcloud.com/document/product/436/7737

                                                                                                                                                  func (*BucketService) PutAccelerate

                                                                                                                                                  func (s *BucketService) PutAccelerate(ctx context.Context, opt *BucketPutAccelerateOptions) (*Response, error)

                                                                                                                                                  func (*BucketService) PutBucketReplication

                                                                                                                                                  func (s *BucketService) PutBucketReplication(ctx context.Context, opt *PutBucketReplicationOptions) (*Response, error)

                                                                                                                                                    PutBucketReplication https://cloud.tencent.com/document/product/436/19223

                                                                                                                                                    func (*BucketService) PutCORS

                                                                                                                                                    func (s *BucketService) PutCORS(ctx context.Context, opt *BucketPutCORSOptions) (*Response, error)

                                                                                                                                                      PutCORS 实现 Bucket 跨域访问设置,您可以通过传入XML格式的配置文件实现配置,文件大小限制为64 KB。

                                                                                                                                                      https://www.qcloud.com/document/product/436/8279

                                                                                                                                                      func (*BucketService) PutDomain

                                                                                                                                                      func (s *BucketService) PutDomain(ctx context.Context, opt *BucketPutDomainOptions) (*Response, error)

                                                                                                                                                      func (*BucketService) PutEncryption

                                                                                                                                                      func (s *BucketService) PutEncryption(ctx context.Context, opt *BucketPutEncryptionOptions) (*Response, error)

                                                                                                                                                      func (*BucketService) PutIntelligentTiering

                                                                                                                                                      func (s *BucketService) PutIntelligentTiering(ctx context.Context, opt *BucketPutIntelligentTieringOptions) (*Response, error)

                                                                                                                                                      func (*BucketService) PutInventory

                                                                                                                                                      func (s *BucketService) PutInventory(ctx context.Context, id string, opt *BucketPutInventoryOptions) (*Response, error)

                                                                                                                                                        PutBucketInventory https://cloud.tencent.com/document/product/436/33707

                                                                                                                                                        func (*BucketService) PutLifecycle

                                                                                                                                                        func (s *BucketService) PutLifecycle(ctx context.Context, opt *BucketPutLifecycleOptions) (*Response, error)

                                                                                                                                                          PutLifecycle 请求实现设置生命周期管理的功能。您可以通过该请求实现数据的生命周期管理配置和定期删除。 此请求为覆盖操作,上传新的配置文件将覆盖之前的配置文件。生命周期管理对文件和文件夹同时生效。 https://www.qcloud.com/document/product/436/8280

                                                                                                                                                          func (*BucketService) PutLogging

                                                                                                                                                          func (s *BucketService) PutLogging(ctx context.Context, opt *BucketPutLoggingOptions) (*Response, error)

                                                                                                                                                            PutBucketLogging https://cloud.tencent.com/document/product/436/17054

                                                                                                                                                            func (*BucketService) PutOrigin

                                                                                                                                                            func (s *BucketService) PutOrigin(ctx context.Context, opt *BucketPutOriginOptions) (*Response, error)

                                                                                                                                                            func (*BucketService) PutPolicy

                                                                                                                                                            func (s *BucketService) PutPolicy(ctx context.Context, opt *BucketPutPolicyOptions) (*Response, error)

                                                                                                                                                            func (*BucketService) PutReferer

                                                                                                                                                            func (s *BucketService) PutReferer(ctx context.Context, opt *BucketPutRefererOptions) (*Response, error)

                                                                                                                                                            func (*BucketService) PutTagging

                                                                                                                                                            func (s *BucketService) PutTagging(ctx context.Context, opt *BucketPutTaggingOptions) (*Response, error)

                                                                                                                                                              PutTagging 接口实现给用指定Bucket打标签。用来组织和管理相关Bucket。

                                                                                                                                                              当该请求设置相同Key名称,不同Value时,会返回400。请求成功,则返回204。

                                                                                                                                                              https://www.qcloud.com/document/product/436/8281

                                                                                                                                                              func (*BucketService) PutVersioning

                                                                                                                                                              func (s *BucketService) PutVersioning(ctx context.Context, opt *BucketPutVersionOptions) (*Response, error)

                                                                                                                                                                PutVersion https://cloud.tencent.com/document/product/436/19889 Status has Suspended\Enabled

                                                                                                                                                                func (*BucketService) PutWebsite

                                                                                                                                                                func (s *BucketService) PutWebsite(ctx context.Context, opt *BucketPutWebsiteOptions) (*Response, error)

                                                                                                                                                                type BucketStatement

                                                                                                                                                                type BucketStatement struct {
                                                                                                                                                                	Principal map[string][]string               `json:"principal,omitempty"`
                                                                                                                                                                	Action    []string                          `json:"action,omitempty"`
                                                                                                                                                                	Effect    string                            `json:"effect,omitempty"`
                                                                                                                                                                	Resource  []string                          `json:"resource,omitempty"`
                                                                                                                                                                	Condition map[string]map[string]interface{} `json:"condition,omitempty"`
                                                                                                                                                                }

                                                                                                                                                                type BucketTaggingTag

                                                                                                                                                                type BucketTaggingTag struct {
                                                                                                                                                                	Key   string
                                                                                                                                                                	Value string
                                                                                                                                                                }

                                                                                                                                                                  BucketTaggingTag is the tag of BucketTagging

                                                                                                                                                                  type CASJobParameters

                                                                                                                                                                  type CASJobParameters struct {
                                                                                                                                                                  	Tier string `xml:"Tier"`
                                                                                                                                                                  }

                                                                                                                                                                    CASJobParameters support three way: Standard(in 35 hours), Expedited(quick way, in 15 mins), Bulk(in 5-12 hours_

                                                                                                                                                                    type CIService

                                                                                                                                                                    type CIService service

                                                                                                                                                                    func (*CIService) CreateDocProcessJobs

                                                                                                                                                                    func (*CIService) CreateMediaJobs

                                                                                                                                                                    func (*CIService) DescribeDocProcessJob

                                                                                                                                                                    func (s *CIService) DescribeDocProcessJob(ctx context.Context, jobid string) (*DescribeDocProcessJobResult, *Response, error)

                                                                                                                                                                    func (*CIService) DescribeDocProcessJobs

                                                                                                                                                                    func (*CIService) DescribeMediaJobs

                                                                                                                                                                    func (s *CIService) DescribeMediaJobs(ctx context.Context, jobid string) (*DescribeMediaProcessJobResult, *Response, error)

                                                                                                                                                                    func (*CIService) DocPreview

                                                                                                                                                                    func (s *CIService) DocPreview(ctx context.Context, name string, opt *DocPreviewOptions) (*Response, error)

                                                                                                                                                                    func (*CIService) GetVideoAuditingJob

                                                                                                                                                                    func (s *CIService) GetVideoAuditingJob(ctx context.Context, jobid string) (*GetVideoAuditingJobResult, *Response, error)

                                                                                                                                                                    func (*CIService) PutFromFile

                                                                                                                                                                    func (s *CIService) PutFromFile(ctx context.Context, name string, filePath string, opt *ObjectPutOptions) (*ImageProcessResult, *Response, error)

                                                                                                                                                                      ci put object from local file

                                                                                                                                                                      func (*CIService) PutVideoAuditingJob

                                                                                                                                                                      func (*CIService) UpdateDocProcessQueue

                                                                                                                                                                      type CSVInputSerialization

                                                                                                                                                                      type CSVInputSerialization struct {
                                                                                                                                                                      	RecordDelimiter            string `xml:"RecordDelimiter,omitempty"`
                                                                                                                                                                      	FieldDelimiter             string `xml:"FieldDelimiter,omitempty"`
                                                                                                                                                                      	QuoteCharacter             string `xml:"QuoteCharacter,omitempty"`
                                                                                                                                                                      	QuoteEscapeCharacter       string `xml:"QuoteEscapeCharacter,omitempty"`
                                                                                                                                                                      	AllowQuotedRecordDelimiter string `xml:"AllowQuotedRecordDelimiter,omitempty"`
                                                                                                                                                                      	FileHeaderInfo             string `xml:"FileHeaderInfo,omitempty"`
                                                                                                                                                                      	Comments                   string `xml:"Comments,omitempty"`
                                                                                                                                                                      }

                                                                                                                                                                      type CSVOutputSerialization

                                                                                                                                                                      type CSVOutputSerialization struct {
                                                                                                                                                                      	QuoteFields          string `xml:"QuoteFields,omitempty"`
                                                                                                                                                                      	RecordDelimiter      string `xml:"RecordDelimiter,omitempty"`
                                                                                                                                                                      	FieldDelimiter       string `xml:"FieldDelimiter,omitempty"`
                                                                                                                                                                      	QuoteCharacter       string `xml:"QuoteCharacter,omitempty"`
                                                                                                                                                                      	QuoteEscapeCharacter string `xml:"QuoteEscapeCharacter,omitempty"`
                                                                                                                                                                      }

                                                                                                                                                                      type Chunk

                                                                                                                                                                      type Chunk struct {
                                                                                                                                                                      	Number int
                                                                                                                                                                      	OffSet int64
                                                                                                                                                                      	Size   int64
                                                                                                                                                                      	Done   bool
                                                                                                                                                                      	ETag   string
                                                                                                                                                                      }

                                                                                                                                                                      func SplitCopyFileIntoChunks

                                                                                                                                                                      func SplitCopyFileIntoChunks(totalBytes int64, partSize int64) ([]Chunk, int, error)

                                                                                                                                                                      func SplitFileIntoChunks

                                                                                                                                                                      func SplitFileIntoChunks(filePath string, partSize int64) (int64, []Chunk, int, error)

                                                                                                                                                                      type Client

                                                                                                                                                                      type Client struct {
                                                                                                                                                                      	Host      string
                                                                                                                                                                      	UserAgent string
                                                                                                                                                                      	BaseURL   *BaseURL
                                                                                                                                                                      
                                                                                                                                                                      	Service *ServiceService
                                                                                                                                                                      	Bucket  *BucketService
                                                                                                                                                                      	Object  *ObjectService
                                                                                                                                                                      	Batch   *BatchService
                                                                                                                                                                      	CI      *CIService
                                                                                                                                                                      
                                                                                                                                                                      	Conf *Config
                                                                                                                                                                      	// contains filtered or unexported fields
                                                                                                                                                                      }

                                                                                                                                                                        Client is a client manages communication with the COS API.

                                                                                                                                                                        func NewClient

                                                                                                                                                                        func NewClient(uri *BaseURL, httpClient *http.Client) *Client

                                                                                                                                                                          NewClient returns a new COS API client.

                                                                                                                                                                          type CompleteMultipartUploadOptions

                                                                                                                                                                          type CompleteMultipartUploadOptions struct {
                                                                                                                                                                          	XMLName       xml.Name     `xml:"CompleteMultipartUpload" header:"-" url:"-"`
                                                                                                                                                                          	Parts         []Object     `xml:"Part" header:"-" url:"-"`
                                                                                                                                                                          	XOptionHeader *http.Header `header:"-,omitempty" xml:"-" url:"-"`
                                                                                                                                                                          }

                                                                                                                                                                            CompleteMultipartUploadOptions is the option of CompleteMultipartUpload

                                                                                                                                                                            type CompleteMultipartUploadResult

                                                                                                                                                                            type CompleteMultipartUploadResult struct {
                                                                                                                                                                            	XMLName  xml.Name `xml:"CompleteMultipartUploadResult"`
                                                                                                                                                                            	Location string
                                                                                                                                                                            	Bucket   string
                                                                                                                                                                            	Key      string
                                                                                                                                                                            	ETag     string
                                                                                                                                                                            }

                                                                                                                                                                              CompleteMultipartUploadResult is the result CompleteMultipartUpload

                                                                                                                                                                              type Config

                                                                                                                                                                              type Config struct {
                                                                                                                                                                              	EnableCRC        bool
                                                                                                                                                                              	RequestBodyClose bool
                                                                                                                                                                              }

                                                                                                                                                                              type Container

                                                                                                                                                                              type Container struct {
                                                                                                                                                                              	Format string `xml:"Format"`
                                                                                                                                                                              }

                                                                                                                                                                              type CopyJobs

                                                                                                                                                                              type CopyJobs struct {
                                                                                                                                                                              	Name       string
                                                                                                                                                                              	UploadId   string
                                                                                                                                                                              	RetryTimes int
                                                                                                                                                                              	Chunk      Chunk
                                                                                                                                                                              	Opt        *ObjectCopyPartOptions
                                                                                                                                                                              }

                                                                                                                                                                              type CopyPartResult

                                                                                                                                                                              type CopyPartResult struct {
                                                                                                                                                                              	XMLName      xml.Name `xml:"CopyPartResult"`
                                                                                                                                                                              	ETag         string
                                                                                                                                                                              	LastModified string
                                                                                                                                                                              }

                                                                                                                                                                                CopyPartResult is the result CopyPart

                                                                                                                                                                                type CopyResults

                                                                                                                                                                                type CopyResults struct {
                                                                                                                                                                                	PartNumber int
                                                                                                                                                                                	Resp       *Response
                                                                                                                                                                                	// contains filtered or unexported fields
                                                                                                                                                                                }

                                                                                                                                                                                type CreateDocProcessJobsOptions

                                                                                                                                                                                type CreateDocProcessJobsOptions struct {
                                                                                                                                                                                	XMLName   xml.Name                `xml:"Request"`
                                                                                                                                                                                	Tag       string                  `xml:"Tag,omitempty"`
                                                                                                                                                                                	Input     *DocProcessJobInput     `xml:"Input,omitempty"`
                                                                                                                                                                                	Operation *DocProcessJobOperation `xml:"Operation,omitempty"`
                                                                                                                                                                                	QueueId   string                  `xml:"QueueId,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type CreateDocProcessJobsResult

                                                                                                                                                                                type CreateDocProcessJobsResult struct {
                                                                                                                                                                                	XMLName    xml.Name            `xml:"Response"`
                                                                                                                                                                                	JobsDetail DocProcessJobDetail `xml:"JobsDetail,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type CreateMediaJobsOptions

                                                                                                                                                                                type CreateMediaJobsOptions struct {
                                                                                                                                                                                	XMLName   xml.Name                  `xml:"Request"`
                                                                                                                                                                                	Tag       string                    `xml:"Tag,omitempty"`
                                                                                                                                                                                	Input     *JobInput                 `xml:"Input,omitempty"`
                                                                                                                                                                                	Operation *MediaProcessJobOperation `xml:"Operation,omitempty"`
                                                                                                                                                                                	QueueId   string                    `xml:"QueueId,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type CreateMediaJobsResult

                                                                                                                                                                                type CreateMediaJobsResult struct {
                                                                                                                                                                                	XMLName    xml.Name              `xml:"Response"`
                                                                                                                                                                                	JobsDetail MediaProcessJobDetail `xml:"JobsDetail,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DataFrame

                                                                                                                                                                                type DataFrame struct {
                                                                                                                                                                                	ContentType         string
                                                                                                                                                                                	ConsumedBytesLength int32
                                                                                                                                                                                	LeftBytesLength     int32
                                                                                                                                                                                }

                                                                                                                                                                                type DefaultProgressListener

                                                                                                                                                                                type DefaultProgressListener struct {
                                                                                                                                                                                }

                                                                                                                                                                                func (*DefaultProgressListener) ProgressChangedCallback

                                                                                                                                                                                func (l *DefaultProgressListener) ProgressChangedCallback(event *ProgressEvent)

                                                                                                                                                                                type DescribeDocProcessBucketsOptions

                                                                                                                                                                                type DescribeDocProcessBucketsOptions struct {
                                                                                                                                                                                	Regions     string `url:"regions,omitempty"`
                                                                                                                                                                                	BucketNames string `url:"bucketNames,omitempty"`
                                                                                                                                                                                	BucketName  string `url:"bucketName,omitempty"`
                                                                                                                                                                                	PageNumber  int    `url:"pageNumber,omitempty"`
                                                                                                                                                                                	PageSize    int    `url:"pageSize,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeDocProcessBucketsResult

                                                                                                                                                                                type DescribeDocProcessBucketsResult struct {
                                                                                                                                                                                	XMLName       xml.Name           `xml:"Response"`
                                                                                                                                                                                	RequestId     string             `xml:"RequestId,omitempty"`
                                                                                                                                                                                	TotalCount    int                `xml:"TotalCount,omitempty"`
                                                                                                                                                                                	PageNumber    int                `xml:"PageNumber,omitempty"`
                                                                                                                                                                                	PageSize      int                `xml:"PageSize,omitempty"`
                                                                                                                                                                                	DocBucketList []DocProcessBucket `xml:"DocBucketList,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeDocProcessJobResult

                                                                                                                                                                                type DescribeDocProcessJobResult struct {
                                                                                                                                                                                	XMLName        xml.Name             `xml:"Response"`
                                                                                                                                                                                	JobsDetail     *DocProcessJobDetail `xml:"JobsDetail,omitempty"`
                                                                                                                                                                                	NonExistJobIds string               `xml:"NonExistJobIds,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeDocProcessJobsOptions

                                                                                                                                                                                type DescribeDocProcessJobsOptions struct {
                                                                                                                                                                                	QueueId           string `url:"queueId,omitempty"`
                                                                                                                                                                                	Tag               string `url:"tag,omitempty"`
                                                                                                                                                                                	OrderByTime       string `url:"orderByTime,omitempty"`
                                                                                                                                                                                	NextToken         string `url:"nextToken,omitempty"`
                                                                                                                                                                                	Size              int    `url:"size,omitempty"`
                                                                                                                                                                                	States            string `url:"states,omitempty"`
                                                                                                                                                                                	StartCreationTime string `url:"startCreationTime,omitempty"`
                                                                                                                                                                                	EndCreationTime   string `url:"endCreationTime,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeDocProcessJobsResult

                                                                                                                                                                                type DescribeDocProcessJobsResult struct {
                                                                                                                                                                                	XMLName    xml.Name              `xml:"Response"`
                                                                                                                                                                                	JobsDetail []DocProcessJobDetail `xml:"JobsDetail,omitempty"`
                                                                                                                                                                                	NextToken  string                `xml:"NextToken,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeDocProcessQueuesOptions

                                                                                                                                                                                type DescribeDocProcessQueuesOptions struct {
                                                                                                                                                                                	QueueIds   string `url:"queueIds,omitempty"`
                                                                                                                                                                                	State      string `url:"state,omitempty"`
                                                                                                                                                                                	PageNumber int    `url:"pageNumber,omitempty"`
                                                                                                                                                                                	PageSize   int    `url:"pageSize,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeDocProcessQueuesResult

                                                                                                                                                                                type DescribeDocProcessQueuesResult struct {
                                                                                                                                                                                	XMLName      xml.Name          `xml:"Response"`
                                                                                                                                                                                	RequestId    string            `xml:"RequestId,omitempty"`
                                                                                                                                                                                	TotalCount   int               `xml:"TotalCount,omitempty"`
                                                                                                                                                                                	PageNumber   int               `xml:"PageNumber,omitempty"`
                                                                                                                                                                                	PageSize     int               `xml:"PageSize,omitempty"`
                                                                                                                                                                                	QueueList    []DocProcessQueue `xml:"QueueList,omitempty"`
                                                                                                                                                                                	NonExistPIDs []string          `xml:"NonExistPIDs,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeMediaProcessBucketsOptions

                                                                                                                                                                                type DescribeMediaProcessBucketsOptions struct {
                                                                                                                                                                                	Regions     string `url:"regions,omitempty"`
                                                                                                                                                                                	BucketNames string `url:"bucketNames,omitempty"`
                                                                                                                                                                                	BucketName  string `url:"bucketName,omitempty"`
                                                                                                                                                                                	PageNumber  int    `url:"pageNumber,omitempty"`
                                                                                                                                                                                	PageSize    int    `url:"pageSize,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeMediaProcessBucketsResult

                                                                                                                                                                                type DescribeMediaProcessBucketsResult struct {
                                                                                                                                                                                	XMLName         xml.Name             `xml:"Response"`
                                                                                                                                                                                	RequestId       string               `xml:"RequestId,omitempty"`
                                                                                                                                                                                	TotalCount      int                  `xml:"TotalCount,omitempty"`
                                                                                                                                                                                	PageNumber      int                  `xml:"PageNumber,omitempty"`
                                                                                                                                                                                	PageSize        int                  `xml:"PageSize,omitempty"`
                                                                                                                                                                                	MediaBucketList []MediaProcessBucket `xml:"MediaBucketList,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeMediaProcessJobResult

                                                                                                                                                                                type DescribeMediaProcessJobResult struct {
                                                                                                                                                                                	XMLName        xml.Name               `xml:"Response"`
                                                                                                                                                                                	JobsDetail     *MediaProcessJobDetail `xml:"JobsDetail,omitempty"`
                                                                                                                                                                                	NonExistJobIds string                 `xml:"NonExistJobIds,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeMediaProcessJobsOptions

                                                                                                                                                                                type DescribeMediaProcessJobsOptions struct {
                                                                                                                                                                                	QueueId           string `url:"queueId,omitempty"`
                                                                                                                                                                                	Tag               string `url:"tag,omitempty"`
                                                                                                                                                                                	OrderByTime       string `url:"orderByTime,omitempty"`
                                                                                                                                                                                	NextToken         string `url:"nextToken,omitempty"`
                                                                                                                                                                                	Size              int    `url:"size,omitempty"`
                                                                                                                                                                                	States            string `url:"states,omitempty"`
                                                                                                                                                                                	StartCreationTime string `url:"startCreationTime,omitempty"`
                                                                                                                                                                                	EndCreationTime   string `url:"endCreationTime,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeMediaProcessJobsResult

                                                                                                                                                                                type DescribeMediaProcessJobsResult struct {
                                                                                                                                                                                	XMLName    xml.Name              `xml:"Response"`
                                                                                                                                                                                	JobsDetail []DocProcessJobDetail `xml:"JobsDetail,omitempty"`
                                                                                                                                                                                	NextToken  string                `xml:"NextToken,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeMediaProcessQueuesOptions

                                                                                                                                                                                type DescribeMediaProcessQueuesOptions struct {
                                                                                                                                                                                	QueueIds   string `url:"queueIds,omitempty"`
                                                                                                                                                                                	State      string `url:"state,omitempty"`
                                                                                                                                                                                	PageNumber int    `url:"pageNumber,omitempty"`
                                                                                                                                                                                	PageSize   int    `url:"pageSize,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DescribeMediaProcessQueuesResult

                                                                                                                                                                                type DescribeMediaProcessQueuesResult struct {
                                                                                                                                                                                	XMLName      xml.Name            `xml:"Response"`
                                                                                                                                                                                	RequestId    string              `xml:"RequestId,omitempty"`
                                                                                                                                                                                	TotalCount   int                 `xml:"TotalCount,omitempty"`
                                                                                                                                                                                	PageNumber   int                 `xml:"PageNumber,omitempty"`
                                                                                                                                                                                	PageSize     int                 `xml:"PageSize,omitempty"`
                                                                                                                                                                                	QueueList    []MediaProcessQueue `xml:"QueueList,omitempty"`
                                                                                                                                                                                	NonExistPIDs []string            `xml:"NonExistPIDs,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocPreviewOptions

                                                                                                                                                                                type DocPreviewOptions struct {
                                                                                                                                                                                	SrcType             string `url:"srcType,omitempty"`
                                                                                                                                                                                	Page                int    `url:"page,omitempty"`
                                                                                                                                                                                	ImageParams         string `url:"ImageParams,omitempty"`
                                                                                                                                                                                	Sheet               int    `url:"sheet,omitempty"`
                                                                                                                                                                                	DstType             string `url:"dstType,omitempty"`
                                                                                                                                                                                	Password            string `url:"password,omitempty"`
                                                                                                                                                                                	Comment             int    `url:"comment,omitempty"`
                                                                                                                                                                                	ExcelPaperDirection int    `url:"excelPaperDirection,omitempty"`
                                                                                                                                                                                	Quality             int    `url:"quality,omitempty"`
                                                                                                                                                                                	Zoom                int    `url:"zoom,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessBucket

                                                                                                                                                                                type DocProcessBucket struct {
                                                                                                                                                                                	BucketId      string `xml:"BucketId,omitempty"`
                                                                                                                                                                                	Name          string `xml:"Name,omitempty"`
                                                                                                                                                                                	Region        string `xml:"Region,omitempty"`
                                                                                                                                                                                	CreateTime    string `xml:"CreateTime,omitempty"`
                                                                                                                                                                                	AliasBucketId string `xml:"AliasBucketId,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessJobDetail

                                                                                                                                                                                type DocProcessJobDetail struct {
                                                                                                                                                                                	Code         string                  `xml:"Code,omitempty"`
                                                                                                                                                                                	Message      string                  `xml:"Message,omitempty"`
                                                                                                                                                                                	JobId        string                  `xml:"JobId,omitempty"`
                                                                                                                                                                                	Tag          string                  `xml:"Tag,omitempty"`
                                                                                                                                                                                	State        string                  `xml:"State,omitempty"`
                                                                                                                                                                                	CreationTime string                  `xml:"CreationTime,omitempty"`
                                                                                                                                                                                	QueueId      string                  `xml:"QueueId,omitempty"`
                                                                                                                                                                                	Input        *DocProcessJobInput     `xml:"Input,omitempty"`
                                                                                                                                                                                	Operation    *DocProcessJobOperation `xml:"Operation,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessJobDocProcess

                                                                                                                                                                                type DocProcessJobDocProcess struct {
                                                                                                                                                                                	SrcType        string `xml:"SrcType,omitempty"`
                                                                                                                                                                                	TgtType        string `xml:"TgtType,omitempty"`
                                                                                                                                                                                	SheetId        int    `xml:"SheetId,omitempty"`
                                                                                                                                                                                	StartPage      int    `xml:"StartPage,omitempty"`
                                                                                                                                                                                	EndPage        int    `xml:"EndPage,omitempty"`
                                                                                                                                                                                	ImageParams    string `xml:"ImageParams,omitempty"`
                                                                                                                                                                                	DocPassword    string `xml:"DocPassword,omitempty"`
                                                                                                                                                                                	Comments       int    `xml:"Comments,omitempty"`
                                                                                                                                                                                	PaperDirection int    `xml:"PaperDirection,omitempty"`
                                                                                                                                                                                	Quality        int    `xml:"Quality,omitempty"`
                                                                                                                                                                                	Zoom           int    `xml:"Zoom,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessJobDocProcessResult

                                                                                                                                                                                type DocProcessJobDocProcessResult struct {
                                                                                                                                                                                	FailPageCount  int    `xml:",omitempty"`
                                                                                                                                                                                	SuccPageCount  int    `xml:"SuccPageCount,omitempty"`
                                                                                                                                                                                	TaskId         string `xml:"TaskId,omitempty"`
                                                                                                                                                                                	TgtType        string `xml:"TgtType,omitempty"`
                                                                                                                                                                                	TotalPageCount int    `xml:"TotalPageCount,omitempty"`
                                                                                                                                                                                	PageInfo       struct {
                                                                                                                                                                                		PageNo int    `xml:"PageNo,omitempty"`
                                                                                                                                                                                		TgtUri string `xml:"TgtUri,omitempty"`
                                                                                                                                                                                	} `xml:"PageInfo,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessJobInput

                                                                                                                                                                                type DocProcessJobInput struct {
                                                                                                                                                                                	Object string `xml:"Object,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessJobOperation

                                                                                                                                                                                type DocProcessJobOperation struct {
                                                                                                                                                                                	Output           *DocProcessJobOutput           `xml:"Output,omitempty"`
                                                                                                                                                                                	DocProcess       *DocProcessJobDocProcess       `xml:"DocProcess,omitempty"`
                                                                                                                                                                                	DocProcessResult *DocProcessJobDocProcessResult `xml:"DocProcessResult,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessJobOutput

                                                                                                                                                                                type DocProcessJobOutput struct {
                                                                                                                                                                                	Region string `xml:"Region,omitempty"`
                                                                                                                                                                                	Bucket string `xml:"Bucket,omitempty"`
                                                                                                                                                                                	Object string `xml:"Object,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessQueue

                                                                                                                                                                                type DocProcessQueue struct {
                                                                                                                                                                                	QueueId       string                       `xml:"QueueId,omitempty"`
                                                                                                                                                                                	Name          string                       `xml:"Name,omitempty"`
                                                                                                                                                                                	State         string                       `xml:"State,omitempty"`
                                                                                                                                                                                	MaxSize       int                          `xml:"MaxSize,omitempty"`
                                                                                                                                                                                	MaxConcurrent int                          `xml:"MaxConcurrent,omitempty"`
                                                                                                                                                                                	UpdateTime    string                       `xml:"UpdateTime,omitempty"`
                                                                                                                                                                                	CreateTime    string                       `xml:"CreateTime,omitempty"`
                                                                                                                                                                                	NotifyConfig  *DocProcessQueueNotifyConfig `xml:"NotifyConfig,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type DocProcessQueueNotifyConfig

                                                                                                                                                                                type DocProcessQueueNotifyConfig struct {
                                                                                                                                                                                	Url   string `xml:"Url,omitempty"`
                                                                                                                                                                                	State string `xml:"State,omitempty"`
                                                                                                                                                                                	Type  string `xml:"Type,omitempty"`
                                                                                                                                                                                	Event string `xml:"Event,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type ErrorDocument

                                                                                                                                                                                type ErrorDocument struct {
                                                                                                                                                                                	Key string `xml:"Key,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                type ErrorFrame

                                                                                                                                                                                type ErrorFrame struct {
                                                                                                                                                                                	Code    string
                                                                                                                                                                                	Message string
                                                                                                                                                                                }

                                                                                                                                                                                func (*ErrorFrame) Error

                                                                                                                                                                                func (e *ErrorFrame) Error() string

                                                                                                                                                                                type ErrorResponse

                                                                                                                                                                                type ErrorResponse struct {
                                                                                                                                                                                	XMLName   xml.Name       `xml:"Error"`
                                                                                                                                                                                	Response  *http.Response `xml:"-"`
                                                                                                                                                                                	Code      string
                                                                                                                                                                                	Message   string
                                                                                                                                                                                	Resource  string
                                                                                                                                                                                	RequestID string `header:"x-cos-request-id,omitempty" url:"-" xml:"RequestId,omitempty"`
                                                                                                                                                                                	TraceID   string `xml:"TraceId,omitempty"`
                                                                                                                                                                                }

                                                                                                                                                                                  ErrorResponse 包含 API 返回的错误信息

                                                                                                                                                                                  https://www.qcloud.com/document/product/436/7730

                                                                                                                                                                                  func IsCOSError

                                                                                                                                                                                  func IsCOSError(e error) (*ErrorResponse, bool)

                                                                                                                                                                                  func (*ErrorResponse) Error

                                                                                                                                                                                  func (r *ErrorResponse) Error() string

                                                                                                                                                                                    Error returns the error msg

                                                                                                                                                                                    type FixedLengthReader

                                                                                                                                                                                    type FixedLengthReader interface {
                                                                                                                                                                                    	io.Reader
                                                                                                                                                                                    	Size() int64
                                                                                                                                                                                    }

                                                                                                                                                                                    type GetBucketReplicationResult

                                                                                                                                                                                    type GetBucketReplicationResult PutBucketReplicationOptions

                                                                                                                                                                                      GetBucketReplicationResult is the result of GetBucketReplication

                                                                                                                                                                                      type GetVideoAuditingJobResult

                                                                                                                                                                                      type GetVideoAuditingJobResult struct {
                                                                                                                                                                                      	XMLName        xml.Name                `xml:"Response"`
                                                                                                                                                                                      	JobsDetail     *VideoAuditingJobDetail `xml:",omitempty"`
                                                                                                                                                                                      	NonExistJobIds string                  `xml:",omitempty"`
                                                                                                                                                                                      }

                                                                                                                                                                                      type GetVideoAuditingJobSnapshot

                                                                                                                                                                                      type GetVideoAuditingJobSnapshot struct {
                                                                                                                                                                                      	Url           string           `xml:",omitempty"`
                                                                                                                                                                                      	PornInfo      *RecognitionInfo `xml:",omitempty"`
                                                                                                                                                                                      	TerrorismInfo *RecognitionInfo `xml:",omitempty"`
                                                                                                                                                                                      	PoliticsInfo  *RecognitionInfo `xml:",omitempty"`
                                                                                                                                                                                      	AdsInfo       *RecognitionInfo `xml:",omitempty"`
                                                                                                                                                                                      }

                                                                                                                                                                                      type Image

                                                                                                                                                                                      type Image struct {
                                                                                                                                                                                      	Url          string `xml:"Url,omitempty"`
                                                                                                                                                                                      	Mode         string `xml:"Mode,omitempty"`
                                                                                                                                                                                      	Width        string `xml:"Width,omitempty"`
                                                                                                                                                                                      	Height       string `xml:"Height,omitempty"`
                                                                                                                                                                                      	Transparency string `xml:"Transparency,omitempty"`
                                                                                                                                                                                      	Background   string `xml:"Background,omitempty"`
                                                                                                                                                                                      }

                                                                                                                                                                                      type ImageProcessOptions

                                                                                                                                                                                      type ImageProcessOptions = PicOperations

                                                                                                                                                                                      type ImageProcessResult

                                                                                                                                                                                      type ImageProcessResult struct {
                                                                                                                                                                                      	XMLName        xml.Name          `xml:"UploadResult"`
                                                                                                                                                                                      	OriginalInfo   *PicOriginalInfo  `xml:"OriginalInfo,omitempty"`
                                                                                                                                                                                      	ProcessResults *PicProcessObject `xml:"ProcessResults>Object,omitempty"`
                                                                                                                                                                                      }

                                                                                                                                                                                      type ImageRecognitionOptions

                                                                                                                                                                                      type ImageRecognitionOptions struct {
                                                                                                                                                                                      	CIProcess  string `url:"ci-process,omitempty"`
                                                                                                                                                                                      	DetectType string `url:"detect-type,omitempty"`
                                                                                                                                                                                      }

                                                                                                                                                                                      type ImageRecognitionResult

                                                                                                                                                                                      type ImageRecognitionResult struct {
                                                                                                                                                                                      	XMLName       xml.Name         `xml:"RecognitionResult"`
                                                                                                                                                                                      	PornInfo      *RecognitionInfo `xml:"PornInfo,omitempty"`
                                                                                                                                                                                      	TerroristInfo *RecognitionInfo `xml:"TerroristInfo,omitempty"`
                                                                                                                                                                                      	PoliticsInfo  *RecognitionInfo `xml:"PoliticsInfo,omitempty"`
                                                                                                                                                                                      	AdsInfo       *RecognitionInfo `xml:"AdsInfo,omitempty"`
                                                                                                                                                                                      }

                                                                                                                                                                                      type InitiateMultipartUploadOptions

                                                                                                                                                                                      type InitiateMultipartUploadOptions struct {
                                                                                                                                                                                      	*ACLHeaderOptions
                                                                                                                                                                                      	*ObjectPutHeaderOptions
                                                                                                                                                                                      }

                                                                                                                                                                                        InitiateMultipartUploadOptions is the option of InitateMultipartUpload

                                                                                                                                                                                        type InitiateMultipartUploadResult

                                                                                                                                                                                        type InitiateMultipartUploadResult struct {
                                                                                                                                                                                        	XMLName  xml.Name `xml:"InitiateMultipartUploadResult"`
                                                                                                                                                                                        	Bucket   string
                                                                                                                                                                                        	Key      string
                                                                                                                                                                                        	UploadID string `xml:"UploadId"`
                                                                                                                                                                                        }

                                                                                                                                                                                          InitiateMultipartUploadResult is the result of InitateMultipartUpload

                                                                                                                                                                                          type Initiator

                                                                                                                                                                                          type Initiator Owner

                                                                                                                                                                                            Initiator same to the Owner struct

                                                                                                                                                                                            type JSONInputSerialization

                                                                                                                                                                                            type JSONInputSerialization struct {
                                                                                                                                                                                            	Type string `xml:"Type,omitempty"`
                                                                                                                                                                                            }

                                                                                                                                                                                            type JSONOutputSerialization

                                                                                                                                                                                            type JSONOutputSerialization struct {
                                                                                                                                                                                            	RecordDelimiter string `xml:"RecordDelimiter,omitempty"`
                                                                                                                                                                                            }

                                                                                                                                                                                            type JobInput

                                                                                                                                                                                            type JobInput struct {
                                                                                                                                                                                            	Object string `xml:"Object,omitempty"`
                                                                                                                                                                                            }

                                                                                                                                                                                            type JobOutput

                                                                                                                                                                                            type JobOutput struct {
                                                                                                                                                                                            	Region string `xml:"Region,omitempty"`
                                                                                                                                                                                            	Bucket string `xml:"Bucket,omitempty"`
                                                                                                                                                                                            	Object string `xml:"Object,omitempty"`
                                                                                                                                                                                            }

                                                                                                                                                                                            type Jobs

                                                                                                                                                                                            type Jobs struct {
                                                                                                                                                                                            	Name       string
                                                                                                                                                                                            	UploadId   string
                                                                                                                                                                                            	FilePath   string
                                                                                                                                                                                            	RetryTimes int
                                                                                                                                                                                            	Chunk      Chunk
                                                                                                                                                                                            	Data       io.Reader
                                                                                                                                                                                            	Opt        *ObjectUploadPartOptions
                                                                                                                                                                                            }

                                                                                                                                                                                              jobs

                                                                                                                                                                                              type LimitedReadCloser

                                                                                                                                                                                              type LimitedReadCloser struct {
                                                                                                                                                                                              	io.LimitedReader
                                                                                                                                                                                              }

                                                                                                                                                                                              func (*LimitedReadCloser) Close

                                                                                                                                                                                              func (lc *LimitedReadCloser) Close() error

                                                                                                                                                                                              type ListBucketInventoryConfigResult

                                                                                                                                                                                              type ListBucketInventoryConfigResult struct {
                                                                                                                                                                                              	XMLName                 xml.Name                           `xml:"ListInventoryConfigurationResult"`
                                                                                                                                                                                              	InventoryConfigurations []BucketListInventoryConfiguartion `xml:"InventoryConfiguration,omitempty"`
                                                                                                                                                                                              	IsTruncated             bool                               `xml:"IsTruncated,omitempty"`
                                                                                                                                                                                              	ContinuationToken       string                             `xml:"ContinuationToken,omitempty"`
                                                                                                                                                                                              	NextContinuationToken   string                             `xml:"NextContinuationToken,omitempty"`
                                                                                                                                                                                              }

                                                                                                                                                                                                ListBucketInventoryConfigResult result of ListBucketInventoryConfiguration

                                                                                                                                                                                                type ListMultipartUploadsOptions

                                                                                                                                                                                                type ListMultipartUploadsOptions struct {
                                                                                                                                                                                                	Delimiter      string `url:"delimiter,omitempty"`
                                                                                                                                                                                                	EncodingType   string `url:"encoding-type,omitempty"`
                                                                                                                                                                                                	Prefix         string `url:"prefix,omitempty"`
                                                                                                                                                                                                	MaxUploads     int    `url:"max-uploads,omitempty"`
                                                                                                                                                                                                	KeyMarker      string `url:"key-marker,omitempty"`
                                                                                                                                                                                                	UploadIDMarker string `url:"upload-id-marker,omitempty"`
                                                                                                                                                                                                }

                                                                                                                                                                                                  ListMultipartUploadsOptions is the option of ListMultipartUploads

                                                                                                                                                                                                  type ListMultipartUploadsResult

                                                                                                                                                                                                  type ListMultipartUploadsResult struct {
                                                                                                                                                                                                  	XMLName            xml.Name `xml:"ListMultipartUploadsResult"`
                                                                                                                                                                                                  	Bucket             string   `xml:"Bucket"`
                                                                                                                                                                                                  	EncodingType       string   `xml:"Encoding-Type"`
                                                                                                                                                                                                  	KeyMarker          string
                                                                                                                                                                                                  	UploadIDMarker     string `xml:"UploadIdMarker"`
                                                                                                                                                                                                  	NextKeyMarker      string
                                                                                                                                                                                                  	NextUploadIDMarker string `xml:"NextUploadIdMarker"`
                                                                                                                                                                                                  	MaxUploads         int
                                                                                                                                                                                                  	IsTruncated        bool
                                                                                                                                                                                                  	Uploads            []struct {
                                                                                                                                                                                                  		Key          string
                                                                                                                                                                                                  		UploadID     string `xml:"UploadId"`
                                                                                                                                                                                                  		StorageClass string
                                                                                                                                                                                                  		Initiator    *Initiator
                                                                                                                                                                                                  		Owner        *Owner
                                                                                                                                                                                                  		Initiated    string
                                                                                                                                                                                                  	} `xml:"Upload,omitempty"`
                                                                                                                                                                                                  	Prefix         string
                                                                                                                                                                                                  	Delimiter      string   `xml:"delimiter,omitempty"`
                                                                                                                                                                                                  	CommonPrefixes []string `xml:"CommonPrefixs>Prefix,omitempty"`
                                                                                                                                                                                                  }

                                                                                                                                                                                                    ListMultipartUploadsResult is the result of ListMultipartUploads

                                                                                                                                                                                                    type ListUploadsResultUpload

                                                                                                                                                                                                    type ListUploadsResultUpload struct {
                                                                                                                                                                                                    	Key          string     `xml:"Key,omitempty"`
                                                                                                                                                                                                    	UploadID     string     `xml:"UploadId,omitempty"`
                                                                                                                                                                                                    	StorageClass string     `xml:"StorageClass,omitempty"`
                                                                                                                                                                                                    	Initiator    *Initiator `xml:"Initiator,omitempty"`
                                                                                                                                                                                                    	Owner        *Owner     `xml:"Owner,omitempty"`
                                                                                                                                                                                                    	Initiated    string     `xml:"Initiated,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type ListVersionsResultDeleteMarker

                                                                                                                                                                                                    type ListVersionsResultDeleteMarker struct {
                                                                                                                                                                                                    	Key          string `xml:"Key,omitempty"`
                                                                                                                                                                                                    	VersionId    string `xml:"VersionId,omitempty"`
                                                                                                                                                                                                    	IsLatest     bool   `xml:"IsLatest,omitempty"`
                                                                                                                                                                                                    	LastModified string `xml:"LastModified,omitempty"`
                                                                                                                                                                                                    	Owner        *Owner `xml:"Owner,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type ListVersionsResultVersion

                                                                                                                                                                                                    type ListVersionsResultVersion struct {
                                                                                                                                                                                                    	Key          string `xml:"Key,omitempty"`
                                                                                                                                                                                                    	VersionId    string `xml:"VersionId,omitempty"`
                                                                                                                                                                                                    	IsLatest     bool   `xml:"IsLatest,omitempty"`
                                                                                                                                                                                                    	LastModified string `xml:"LastModified,omitempty"`
                                                                                                                                                                                                    	ETag         string `xml:"ETag,omitempty"`
                                                                                                                                                                                                    	Size         int    `xml:"Size,omitempty"`
                                                                                                                                                                                                    	StorageClass string `xml:"StorageClass,omitempty"`
                                                                                                                                                                                                    	Owner        *Owner `xml:"Owner,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type MediaProcessBucket

                                                                                                                                                                                                    type MediaProcessBucket struct {
                                                                                                                                                                                                    	BucketId   string `xml:"BucketId,omitempty"`
                                                                                                                                                                                                    	Region     string `xml:"Region,omitempty"`
                                                                                                                                                                                                    	CreateTime string `xml:"CreateTime,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type MediaProcessJobDetail

                                                                                                                                                                                                    type MediaProcessJobDetail struct {
                                                                                                                                                                                                    	Code         string                    `xml:"Code,omitempty"`
                                                                                                                                                                                                    	Message      string                    `xml:"Message,omitempty"`
                                                                                                                                                                                                    	JobId        string                    `xml:"JobId,omitempty"`
                                                                                                                                                                                                    	Tag          string                    `xml:"Tag,omitempty"`
                                                                                                                                                                                                    	State        string                    `xml:"State,omitempty"`
                                                                                                                                                                                                    	CreationTime string                    `xml:"CreationTime,omitempty"`
                                                                                                                                                                                                    	QueueId      string                    `xml:"QueueId,omitempty"`
                                                                                                                                                                                                    	Input        *JobInput                 `xml:"Input,omitempty"`
                                                                                                                                                                                                    	Operation    *MediaProcessJobOperation `xml:"Operation,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type MediaProcessJobOperation

                                                                                                                                                                                                    type MediaProcessJobOperation struct {
                                                                                                                                                                                                    	Output              *JobOutput `xml:"Output,omitempty"`
                                                                                                                                                                                                    	Transcode           *Transcode `xml:"Transcode,omitempty"`
                                                                                                                                                                                                    	Watermark           *Watermark `xml:"Watermark,omitempty"`
                                                                                                                                                                                                    	TemplateId          string     `xml:"TemplateId,omitempty"`
                                                                                                                                                                                                    	WatermarkTemplateId []string   `xml:"WatermarkTemplateId,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type MediaProcessQueue

                                                                                                                                                                                                    type MediaProcessQueue struct {
                                                                                                                                                                                                    	QueueId       string                         `xml:"QueueId,omitempty"`
                                                                                                                                                                                                    	Name          string                         `xml:"Name,omitempty"`
                                                                                                                                                                                                    	State         string                         `xml:"State,omitempty"`
                                                                                                                                                                                                    	MaxSize       int                            `xml:"MaxSize,omitempty"`
                                                                                                                                                                                                    	MaxConcurrent int                            `xml:"MaxConcurrent,omitempty"`
                                                                                                                                                                                                    	UpdateTime    string                         `xml:"UpdateTime,omitempty"`
                                                                                                                                                                                                    	CreateTime    string                         `xml:"CreateTime,omitempty"`
                                                                                                                                                                                                    	NotifyConfig  *MediaProcessQueueNotifyConfig `xml:"NotifyConfig,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type MediaProcessQueueNotifyConfig

                                                                                                                                                                                                    type MediaProcessQueueNotifyConfig struct {
                                                                                                                                                                                                    	Url   string `xml:"Url,omitempty"`
                                                                                                                                                                                                    	State string `xml:"State,omitempty"`
                                                                                                                                                                                                    	Type  string `xml:"Type,omitempty"`
                                                                                                                                                                                                    	Event string `xml:"Event,omitempty"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type MultiCopyOptions

                                                                                                                                                                                                    type MultiCopyOptions struct {
                                                                                                                                                                                                    	OptCopy        *ObjectCopyOptions
                                                                                                                                                                                                    	PartSize       int64
                                                                                                                                                                                                    	ThreadPoolSize int
                                                                                                                                                                                                    }

                                                                                                                                                                                                    type MultiUploadOptions

                                                                                                                                                                                                    type MultiUploadOptions struct {
                                                                                                                                                                                                    	OptIni             *InitiateMultipartUploadOptions
                                                                                                                                                                                                    	PartSize           int64
                                                                                                                                                                                                    	ThreadPoolSize     int
                                                                                                                                                                                                    	CheckPoint         bool
                                                                                                                                                                                                    	EnableVerification bool
                                                                                                                                                                                                    }

                                                                                                                                                                                                      MultiUploadOptions is the option of the multiupload, ThreadPoolSize default is one

                                                                                                                                                                                                      type Object

                                                                                                                                                                                                      type Object struct {
                                                                                                                                                                                                      	Key          string `xml:",omitempty"`
                                                                                                                                                                                                      	ETag         string `xml:",omitempty"`
                                                                                                                                                                                                      	Size         int64  `xml:",omitempty"`
                                                                                                                                                                                                      	PartNumber   int    `xml:",omitempty"`
                                                                                                                                                                                                      	LastModified string `xml:",omitempty"`
                                                                                                                                                                                                      	StorageClass string `xml:",omitempty"`
                                                                                                                                                                                                      	Owner        *Owner `xml:",omitempty"`
                                                                                                                                                                                                      	VersionId    string `xml:",omitempty"`
                                                                                                                                                                                                      }

                                                                                                                                                                                                        Object is the meta info of the object

                                                                                                                                                                                                        type ObjectCopyHeaderOptions

                                                                                                                                                                                                        type ObjectCopyHeaderOptions struct {
                                                                                                                                                                                                        	// When use replace directive to update meta infos
                                                                                                                                                                                                        	CacheControl                    string `header:"Cache-Control,omitempty" url:"-"`
                                                                                                                                                                                                        	ContentDisposition              string `header:"Content-Disposition,omitempty" url:"-"`
                                                                                                                                                                                                        	ContentEncoding                 string `header:"Content-Encoding,omitempty" url:"-"`
                                                                                                                                                                                                        	ContentLanguage                 string `header:"Content-Language,omitempty" url:"-"`
                                                                                                                                                                                                        	ContentType                     string `header:"Content-Type,omitempty" url:"-"`
                                                                                                                                                                                                        	Expires                         string `header:"Expires,omitempty" url:"-"`
                                                                                                                                                                                                        	Expect                          string `header:"Expect,omitempty" url:"-"`
                                                                                                                                                                                                        	XCosMetadataDirective           string `header:"x-cos-metadata-directive,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosCopySourceIfModifiedSince   string `header:"x-cos-copy-source-If-Modified-Since,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosCopySourceIfUnmodifiedSince string `header:"x-cos-copy-source-If-Unmodified-Since,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosCopySourceIfMatch           string `header:"x-cos-copy-source-If-Match,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosCopySourceIfNoneMatch       string `header:"x-cos-copy-source-If-None-Match,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosStorageClass                string `header:"x-cos-storage-class,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	// 自定义的 x-cos-meta-* header
                                                                                                                                                                                                        	XCosMetaXXX              *http.Header `header:"x-cos-meta-*,omitempty" url:"-"`
                                                                                                                                                                                                        	XCosCopySource           string       `header:"x-cos-copy-source" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosServerSideEncryption string       `header:"x-cos-server-side-encryption,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	// SSE-C
                                                                                                                                                                                                        	XCosSSECustomerAglo             string `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosSSECustomerKey              string `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosSSECustomerKeyMD5           string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosCopySourceSSECustomerAglo   string `header:"x-cos-copy-source-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosCopySourceSSECustomerKey    string `header:"x-cos-copy-source-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	XCosCopySourceSSECustomerKeyMD5 string `header:"x-cos-copy-source-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        	//兼容其他自定义头部
                                                                                                                                                                                                        	XOptionHeader *http.Header `header:"-,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                        }

                                                                                                                                                                                                          ObjectCopyHeaderOptions is the head option of the Copy

                                                                                                                                                                                                          type ObjectCopyOptions

                                                                                                                                                                                                          type ObjectCopyOptions struct {
                                                                                                                                                                                                          	*ObjectCopyHeaderOptions `header:",omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                          	*ACLHeaderOptions        `header:",omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                          }

                                                                                                                                                                                                            ObjectCopyOptions is the option of Copy, choose header or body

                                                                                                                                                                                                            type ObjectCopyPartOptions

                                                                                                                                                                                                            type ObjectCopyPartOptions struct {
                                                                                                                                                                                                            	XCosCopySource                  string `header:"x-cos-copy-source" url:"-"`
                                                                                                                                                                                                            	XCosCopySourceRange             string `header:"x-cos-copy-source-range,omitempty" url:"-"`
                                                                                                                                                                                                            	XCosCopySourceIfModifiedSince   string `header:"x-cos-copy-source-If-Modified-Since,omitempty" url:"-"`
                                                                                                                                                                                                            	XCosCopySourceIfUnmodifiedSince string `header:"x-cos-copy-source-If-Unmodified-Since,omitempty" url:"-"`
                                                                                                                                                                                                            	XCosCopySourceIfMatch           string `header:"x-cos-copy-source-If-Match,omitempty" url:"-"`
                                                                                                                                                                                                            	XCosCopySourceIfNoneMatch       string `header:"x-cos-copy-source-If-None-Match,omitempty" url:"-"`
                                                                                                                                                                                                            }

                                                                                                                                                                                                              ObjectCopyPartOptions is the options of copy-part

                                                                                                                                                                                                              type ObjectCopyResult

                                                                                                                                                                                                              type ObjectCopyResult struct {
                                                                                                                                                                                                              	XMLName      xml.Name `xml:"CopyObjectResult"`
                                                                                                                                                                                                              	ETag         string   `xml:"ETag,omitempty"`
                                                                                                                                                                                                              	LastModified string   `xml:"LastModified,omitempty"`
                                                                                                                                                                                                              	CRC64        string   `xml:"CRC64,omitempty"`
                                                                                                                                                                                                              	VersionId    string   `xml:"VersionId,omitempty"`
                                                                                                                                                                                                              }

                                                                                                                                                                                                                ObjectCopyResult is the result of Copy

                                                                                                                                                                                                                type ObjectDeleteMultiOptions

                                                                                                                                                                                                                type ObjectDeleteMultiOptions struct {
                                                                                                                                                                                                                	XMLName xml.Name `xml:"Delete" header:"-"`
                                                                                                                                                                                                                	Quiet   bool     `xml:"Quiet" header:"-"`
                                                                                                                                                                                                                	Objects []Object `xml:"Object" header:"-"`
                                                                                                                                                                                                                }

                                                                                                                                                                                                                  ObjectDeleteMultiOptions is the option of DeleteMulti

                                                                                                                                                                                                                  type ObjectDeleteMultiResult

                                                                                                                                                                                                                  type ObjectDeleteMultiResult struct {
                                                                                                                                                                                                                  	XMLName        xml.Name `xml:"DeleteResult"`
                                                                                                                                                                                                                  	DeletedObjects []Object `xml:"Deleted,omitempty"`
                                                                                                                                                                                                                  	Errors         []struct {
                                                                                                                                                                                                                  		Key       string `xml:",omitempty"`
                                                                                                                                                                                                                  		Code      string `xml:",omitempty"`
                                                                                                                                                                                                                  		Message   string `xml:",omitempty"`
                                                                                                                                                                                                                  		VersionId string `xml:",omitempty"`
                                                                                                                                                                                                                  	} `xml:"Error,omitempty"`
                                                                                                                                                                                                                  }

                                                                                                                                                                                                                    ObjectDeleteMultiResult is the result of DeleteMulti

                                                                                                                                                                                                                    type ObjectDeleteOptions

                                                                                                                                                                                                                    type ObjectDeleteOptions struct {
                                                                                                                                                                                                                    	// SSE-C
                                                                                                                                                                                                                    	XCosSSECustomerAglo   string `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                    	XCosSSECustomerKey    string `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                    	XCosSSECustomerKeyMD5 string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                    	//兼容其他自定义头部
                                                                                                                                                                                                                    	XOptionHeader *http.Header `header:"-,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                    	VersionId     string       `header:"-" url:"VersionId,omitempty" xml:"-"`
                                                                                                                                                                                                                    }

                                                                                                                                                                                                                    type ObjectGetACLResult

                                                                                                                                                                                                                    type ObjectGetACLResult = ACLXml

                                                                                                                                                                                                                      ObjectGetACLResult is the result of GetObjectACL

                                                                                                                                                                                                                      type ObjectGetOptions

                                                                                                                                                                                                                      type ObjectGetOptions struct {
                                                                                                                                                                                                                      	ResponseContentType        string `url:"response-content-type,omitempty" header:"-"`
                                                                                                                                                                                                                      	ResponseContentLanguage    string `url:"response-content-language,omitempty" header:"-"`
                                                                                                                                                                                                                      	ResponseExpires            string `url:"response-expires,omitempty" header:"-"`
                                                                                                                                                                                                                      	ResponseCacheControl       string `url:"response-cache-control,omitempty" header:"-"`
                                                                                                                                                                                                                      	ResponseContentDisposition string `url:"response-content-disposition,omitempty" header:"-"`
                                                                                                                                                                                                                      	ResponseContentEncoding    string `url:"response-content-encoding,omitempty" header:"-"`
                                                                                                                                                                                                                      	Range                      string `url:"-" header:"Range,omitempty"`
                                                                                                                                                                                                                      	IfModifiedSince            string `url:"-" header:"If-Modified-Since,omitempty"`
                                                                                                                                                                                                                      	// SSE-C
                                                                                                                                                                                                                      	XCosSSECustomerAglo   string `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                      	XCosSSECustomerKey    string `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                      	XCosSSECustomerKeyMD5 string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                      
                                                                                                                                                                                                                      	//兼容其他自定义头部
                                                                                                                                                                                                                      	XOptionHeader    *http.Header `header:"-,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                      	XCosTrafficLimit int          `header:"x-cos-traffic-limit,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                      
                                                                                                                                                                                                                      	// 下载进度, ProgressCompleteEvent不能表示对应API调用成功,API是否调用成功的判断标准为返回err==nil
                                                                                                                                                                                                                      	Listener ProgressListener `header:"-" url:"-" xml:"-"`
                                                                                                                                                                                                                      }

                                                                                                                                                                                                                        ObjectGetOptions is the option of GetObject

                                                                                                                                                                                                                        type ObjectGetTaggingResult

                                                                                                                                                                                                                        type ObjectGetTaggingResult ObjectPutTaggingOptions

                                                                                                                                                                                                                        type ObjectHeadOptions

                                                                                                                                                                                                                        type ObjectHeadOptions struct {
                                                                                                                                                                                                                        	IfModifiedSince string `url:"-" header:"If-Modified-Since,omitempty"`
                                                                                                                                                                                                                        	// SSE-C
                                                                                                                                                                                                                        	XCosSSECustomerAglo   string       `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                        	XCosSSECustomerKey    string       `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                        	XCosSSECustomerKeyMD5 string       `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                        	XOptionHeader         *http.Header `header:"-,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                        }

                                                                                                                                                                                                                          ObjectHeadOptions is the option of HeadObject

                                                                                                                                                                                                                          type ObjectList

                                                                                                                                                                                                                          type ObjectList []Object

                                                                                                                                                                                                                            ObjectList can used for sort the parts which needs in complete upload part sort.Sort(cos.ObjectList(opt.Parts))

                                                                                                                                                                                                                            func (ObjectList) Len

                                                                                                                                                                                                                            func (o ObjectList) Len() int

                                                                                                                                                                                                                            func (ObjectList) Less

                                                                                                                                                                                                                            func (o ObjectList) Less(i, j int) bool

                                                                                                                                                                                                                            func (ObjectList) Swap

                                                                                                                                                                                                                            func (o ObjectList) Swap(i, j int)

                                                                                                                                                                                                                            type ObjectListPartsOptions

                                                                                                                                                                                                                            type ObjectListPartsOptions struct {
                                                                                                                                                                                                                            	EncodingType     string `url:"Encoding-type,omitempty"`
                                                                                                                                                                                                                            	MaxParts         string `url:"max-parts,omitempty"`
                                                                                                                                                                                                                            	PartNumberMarker string `url:"part-number-marker,omitempty"`
                                                                                                                                                                                                                            }

                                                                                                                                                                                                                              ObjectListPartsOptions is the option of ListParts

                                                                                                                                                                                                                              type ObjectListPartsResult

                                                                                                                                                                                                                              type ObjectListPartsResult struct {
                                                                                                                                                                                                                              	XMLName              xml.Name `xml:"ListPartsResult"`
                                                                                                                                                                                                                              	Bucket               string
                                                                                                                                                                                                                              	EncodingType         string `xml:"Encoding-type,omitempty"`
                                                                                                                                                                                                                              	Key                  string
                                                                                                                                                                                                                              	UploadID             string     `xml:"UploadId"`
                                                                                                                                                                                                                              	Initiator            *Initiator `xml:"Initiator,omitempty"`
                                                                                                                                                                                                                              	Owner                *Owner     `xml:"Owner,omitempty"`
                                                                                                                                                                                                                              	StorageClass         string
                                                                                                                                                                                                                              	PartNumberMarker     string
                                                                                                                                                                                                                              	NextPartNumberMarker string `xml:"NextPartNumberMarker,omitempty"`
                                                                                                                                                                                                                              	MaxParts             string
                                                                                                                                                                                                                              	IsTruncated          bool
                                                                                                                                                                                                                              	Parts                []Object `xml:"Part,omitempty"`
                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                ObjectListPartsResult is the result of ListParts

                                                                                                                                                                                                                                type ObjectListUploadsOptions

                                                                                                                                                                                                                                type ObjectListUploadsOptions struct {
                                                                                                                                                                                                                                	Delimiter      string `url:"Delimiter,omitempty"`
                                                                                                                                                                                                                                	EncodingType   string `url:"EncodingType,omitempty"`
                                                                                                                                                                                                                                	Prefix         string `url:"Prefix"`
                                                                                                                                                                                                                                	MaxUploads     int    `url:"MaxUploads"`
                                                                                                                                                                                                                                	KeyMarker      string `url:"KeyMarker"`
                                                                                                                                                                                                                                	UploadIdMarker string `url:"UploadIDMarker"`
                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                type ObjectListUploadsResult

                                                                                                                                                                                                                                type ObjectListUploadsResult struct {
                                                                                                                                                                                                                                	XMLName            xml.Name                  `xml:"ListMultipartUploadsResult"`
                                                                                                                                                                                                                                	Bucket             string                    `xml:"Bucket,omitempty"`
                                                                                                                                                                                                                                	EncodingType       string                    `xml:"Encoding-Type,omitempty"`
                                                                                                                                                                                                                                	KeyMarker          string                    `xml:"KeyMarker,omitempty"`
                                                                                                                                                                                                                                	UploadIdMarker     string                    `xml:"UploadIdMarker,omitempty"`
                                                                                                                                                                                                                                	NextKeyMarker      string                    `xml:"NextKeyMarker,omitempty"`
                                                                                                                                                                                                                                	NextUploadIdMarker string                    `xml:"NextUploadIdMarker,omitempty"`
                                                                                                                                                                                                                                	MaxUploads         string                    `xml:"MaxUploads,omitempty"`
                                                                                                                                                                                                                                	IsTruncated        bool                      `xml:"IsTruncated,omitempty"`
                                                                                                                                                                                                                                	Prefix             string                    `xml:"Prefix,omitempty"`
                                                                                                                                                                                                                                	Delimiter          string                    `xml:"Delimiter,omitempty"`
                                                                                                                                                                                                                                	Upload             []ListUploadsResultUpload `xml:"Upload,omitempty"`
                                                                                                                                                                                                                                	CommonPrefixes     []string                  `xml:"CommonPrefixes>Prefix,omitempty"`
                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                type ObjectOptionsOptions

                                                                                                                                                                                                                                type ObjectOptionsOptions struct {
                                                                                                                                                                                                                                	Origin                      string `url:"-" header:"Origin"`
                                                                                                                                                                                                                                	AccessControlRequestMethod  string `url:"-" header:"Access-Control-Request-Method"`
                                                                                                                                                                                                                                	AccessControlRequestHeaders string `url:"-" header:"Access-Control-Request-Headers,omitempty"`
                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                  ObjectOptionsOptions is the option of object options

                                                                                                                                                                                                                                  type ObjectPutACLOptions

                                                                                                                                                                                                                                  type ObjectPutACLOptions struct {
                                                                                                                                                                                                                                  	Header *ACLHeaderOptions `url:"-" xml:"-"`
                                                                                                                                                                                                                                  	Body   *ACLXml           `url:"-" header:"-"`
                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                    ObjectPutACLOptions the options of put object acl

                                                                                                                                                                                                                                    type ObjectPutHeaderOptions

                                                                                                                                                                                                                                    type ObjectPutHeaderOptions struct {
                                                                                                                                                                                                                                    	CacheControl       string `header:"Cache-Control,omitempty" url:"-"`
                                                                                                                                                                                                                                    	ContentDisposition string `header:"Content-Disposition,omitempty" url:"-"`
                                                                                                                                                                                                                                    	ContentEncoding    string `header:"Content-Encoding,omitempty" url:"-"`
                                                                                                                                                                                                                                    	ContentType        string `header:"Content-Type,omitempty" url:"-"`
                                                                                                                                                                                                                                    	ContentMD5         string `header:"Content-MD5,omitempty" url:"-"`
                                                                                                                                                                                                                                    	ContentLength      int64  `header:"Content-Length,omitempty" url:"-"`
                                                                                                                                                                                                                                    	ContentLanguage    string `header:"Content-Language,omitempty" url:"-"`
                                                                                                                                                                                                                                    	Expect             string `header:"Expect,omitempty" url:"-"`
                                                                                                                                                                                                                                    	Expires            string `header:"Expires,omitempty" url:"-"`
                                                                                                                                                                                                                                    	XCosContentSHA1    string `header:"x-cos-content-sha1,omitempty" url:"-"`
                                                                                                                                                                                                                                    	// 自定义的 x-cos-meta-* header
                                                                                                                                                                                                                                    	XCosMetaXXX      *http.Header `header:"x-cos-meta-*,omitempty" url:"-"`
                                                                                                                                                                                                                                    	XCosStorageClass string       `header:"x-cos-storage-class,omitempty" url:"-"`
                                                                                                                                                                                                                                    	// 可选值: Normal, Appendable
                                                                                                                                                                                                                                    	//XCosObjectType string `header:"x-cos-object-type,omitempty" url:"-"`
                                                                                                                                                                                                                                    	// Enable Server Side Encryption, Only supported: AES256
                                                                                                                                                                                                                                    	XCosServerSideEncryption string `header:"x-cos-server-side-encryption,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                    	// SSE-C
                                                                                                                                                                                                                                    	XCosSSECustomerAglo   string `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                    	XCosSSECustomerKey    string `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                    	XCosSSECustomerKeyMD5 string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                    	//兼容其他自定义头部
                                                                                                                                                                                                                                    	XOptionHeader    *http.Header `header:"-,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                    	XCosTrafficLimit int          `header:"x-cos-traffic-limit,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                    	// 上传进度, ProgressCompleteEvent不能表示对应API调用成功,API是否调用成功的判断标准为返回err==nil
                                                                                                                                                                                                                                    	Listener ProgressListener `header:"-" url:"-" xml:"-"`
                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                      ObjectPutHeaderOptions the options of header of the put object

                                                                                                                                                                                                                                      type ObjectPutOptions

                                                                                                                                                                                                                                      type ObjectPutOptions struct {
                                                                                                                                                                                                                                      	*ACLHeaderOptions       `header:",omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                      	*ObjectPutHeaderOptions `header:",omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                        ObjectPutOptions the options of put object

                                                                                                                                                                                                                                        type ObjectPutTaggingOptions

                                                                                                                                                                                                                                        type ObjectPutTaggingOptions struct {
                                                                                                                                                                                                                                        	XMLName xml.Name           `xml:"Tagging"`
                                                                                                                                                                                                                                        	TagSet  []ObjectTaggingTag `xml:"TagSet>Tag,omitempty"`
                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                        type ObjectRestoreOptions

                                                                                                                                                                                                                                        type ObjectRestoreOptions struct {
                                                                                                                                                                                                                                        	XMLName xml.Name          `xml:"RestoreRequest"`
                                                                                                                                                                                                                                        	Days    int               `xml:"Days"`
                                                                                                                                                                                                                                        	Tier    *CASJobParameters `xml:"CASJobParameters"`
                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                          ObjectRestoreOptions is the option of object restore

                                                                                                                                                                                                                                          type ObjectSelectOptions

                                                                                                                                                                                                                                          type ObjectSelectOptions struct {
                                                                                                                                                                                                                                          	XMLName             xml.Name                   `xml:"SelectRequest"`
                                                                                                                                                                                                                                          	Expression          string                     `xml:"Expression"`
                                                                                                                                                                                                                                          	ExpressionType      string                     `xml:"ExpressionType"`
                                                                                                                                                                                                                                          	InputSerialization  *SelectInputSerialization  `xml:"InputSerialization"`
                                                                                                                                                                                                                                          	OutputSerialization *SelectOutputSerialization `xml:"OutputSerialization"`
                                                                                                                                                                                                                                          	RequestProgress     string                     `xml:"RequestProgress>Enabled,omitempty"`
                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                          type ObjectSelectResponse

                                                                                                                                                                                                                                          type ObjectSelectResponse struct {
                                                                                                                                                                                                                                          	StatusCode int
                                                                                                                                                                                                                                          	Headers    http.Header
                                                                                                                                                                                                                                          	Body       io.ReadCloser
                                                                                                                                                                                                                                          	Frame      *ObjectSelectResult
                                                                                                                                                                                                                                          	Finish     bool
                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                          func (*ObjectSelectResponse) Close

                                                                                                                                                                                                                                          func (osr *ObjectSelectResponse) Close() error

                                                                                                                                                                                                                                          func (*ObjectSelectResponse) Read

                                                                                                                                                                                                                                          func (osr *ObjectSelectResponse) Read(p []byte) (n int, err error)

                                                                                                                                                                                                                                          type ObjectSelectResult

                                                                                                                                                                                                                                          type ObjectSelectResult struct {
                                                                                                                                                                                                                                          	TotalFrameLength  int32
                                                                                                                                                                                                                                          	TotalHeaderLength int32
                                                                                                                                                                                                                                          	NextFrame         bool
                                                                                                                                                                                                                                          	FrameType         int
                                                                                                                                                                                                                                          	Payload           []byte
                                                                                                                                                                                                                                          	DataFrame         DataFrame
                                                                                                                                                                                                                                          	ProgressFrame     ProgressFrame
                                                                                                                                                                                                                                          	StatsFrame        StatsFrame
                                                                                                                                                                                                                                          	ErrorFrame        *ErrorFrame
                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                          type ObjectService

                                                                                                                                                                                                                                          type ObjectService service

                                                                                                                                                                                                                                            ObjectService 相关 API

                                                                                                                                                                                                                                            func (*ObjectService) AbortMultipartUpload

                                                                                                                                                                                                                                            func (s *ObjectService) AbortMultipartUpload(ctx context.Context, name, uploadID string) (*Response, error)

                                                                                                                                                                                                                                              AbortMultipartUpload 用来实现舍弃一个分块上传并删除已上传的块。当您调用Abort Multipart Upload时, 如果有正在使用这个Upload Parts上传块的请求,则Upload Parts会返回失败。当该UploadID不存在时,会返回404 NoSuchUpload。

                                                                                                                                                                                                                                              建议您及时完成分块上传或者舍弃分块上传,因为已上传但是未终止的块会占用存储空间进而产生存储费用。

                                                                                                                                                                                                                                              https://www.qcloud.com/document/product/436/7740

                                                                                                                                                                                                                                              func (*ObjectService) CompleteMultipartUpload

                                                                                                                                                                                                                                              func (s *ObjectService) CompleteMultipartUpload(ctx context.Context, name, uploadID string, opt *CompleteMultipartUploadOptions) (*CompleteMultipartUploadResult, *Response, error)

                                                                                                                                                                                                                                                CompleteMultipartUpload 用来实现完成整个分块上传。当您已经使用Upload Parts上传所有块以后,你可以用该API完成上传。 在使用该API时,您必须在Body中给出每一个块的PartNumber和ETag,用来校验块的准确性。

                                                                                                                                                                                                                                                由于分块上传的合并需要数分钟时间,因而当合并分块开始的时候,COS就立即返回200的状态码,在合并的过程中, COS会周期性的返回空格信息来保持连接活跃,直到合并完成,COS会在Body中返回合并后块的内容。

                                                                                                                                                                                                                                                当上传块小于1 MB的时候,在调用该请求时,会返回400 EntityTooSmall; 当上传块编号不连续的时候,在调用该请求时,会返回400 InvalidPart; 当请求Body中的块信息没有按序号从小到大排列的时候,在调用该请求时,会返回400 InvalidPartOrder; 当UploadId不存在的时候,在调用该请求时,会返回404 NoSuchUpload。

                                                                                                                                                                                                                                                建议您及时完成分块上传或者舍弃分块上传,因为已上传但是未终止的块会占用存储空间进而产生存储费用。

                                                                                                                                                                                                                                                https://www.qcloud.com/document/product/436/7742

                                                                                                                                                                                                                                                func (*ObjectService) Copy

                                                                                                                                                                                                                                                func (s *ObjectService) Copy(ctx context.Context, name, sourceURL string, opt *ObjectCopyOptions, id ...string) (*ObjectCopyResult, *Response, error)

                                                                                                                                                                                                                                                  Copy 调用 PutObjectCopy 请求实现将一个文件从源路径复制到目标路径。建议文件大小 1M 到 5G, 超过 5G 的文件请使用分块上传 Upload - Copy。在拷贝的过程中,文件元属性和 ACL 可以被修改。

                                                                                                                                                                                                                                                  用户可以通过该接口实现文件移动,文件重命名,修改文件属性和创建副本。

                                                                                                                                                                                                                                                  注意:在跨帐号复制的时候,需要先设置被复制文件的权限为公有读,或者对目标帐号赋权,同帐号则不需要。

                                                                                                                                                                                                                                                  https://cloud.tencent.com/document/product/436/10881

                                                                                                                                                                                                                                                  func (*ObjectService) CopyPart

                                                                                                                                                                                                                                                  func (s *ObjectService) CopyPart(ctx context.Context, name, uploadID string, partNumber int, sourceURL string, opt *ObjectCopyPartOptions) (*CopyPartResult, *Response, error)

                                                                                                                                                                                                                                                    CopyPart 请求实现在初始化以后的分块上传,支持的块的数量为1到10000,块的大小为1 MB 到5 GB。 在每次请求Upload Part时候,需要携带partNumber和uploadID,partNumber为块的编号,支持乱序上传。 ObjectCopyPartOptions的XCosCopySource为必填参数,格式为<bucket-name>-<app-id>.cos.<region-id>.myqcloud.com/<object-key> ObjectCopyPartOptions的XCosCopySourceRange指定源的Range,格式为bytes=<start>-<end>

                                                                                                                                                                                                                                                    当传入uploadID和partNumber都相同的时候,后传入的块将覆盖之前传入的块。当uploadID不存在时会返回404错误,NoSuchUpload.

                                                                                                                                                                                                                                                    https://www.qcloud.com/document/product/436/7750

                                                                                                                                                                                                                                                    func (*ObjectService) Delete

                                                                                                                                                                                                                                                    func (s *ObjectService) Delete(ctx context.Context, name string, opt ...*ObjectDeleteOptions) (*Response, error)

                                                                                                                                                                                                                                                      Delete Object请求可以将一个文件(Object)删除。

                                                                                                                                                                                                                                                      https://www.qcloud.com/document/product/436/7743

                                                                                                                                                                                                                                                      func (*ObjectService) DeleteMulti

                                                                                                                                                                                                                                                        DeleteMulti 请求实现批量删除文件,最大支持单次删除1000个文件。 对于返回结果,COS提供Verbose和Quiet两种结果模式。Verbose模式将返回每个Object的删除结果; Quiet模式只返回报错的Object信息。 https://www.qcloud.com/document/product/436/8289

                                                                                                                                                                                                                                                        func (*ObjectService) DeleteTagging

                                                                                                                                                                                                                                                        func (s *ObjectService) DeleteTagging(ctx context.Context, name string, id ...string) (*Response, error)

                                                                                                                                                                                                                                                        func (*ObjectService) Get

                                                                                                                                                                                                                                                        func (s *ObjectService) Get(ctx context.Context, name string, opt *ObjectGetOptions, id ...string) (*Response, error)

                                                                                                                                                                                                                                                          Get Object 请求可以将一个文件(Object)下载至本地。 该操作需要对目标 Object 具有读权限或目标 Object 对所有人都开放了读权限(公有读)。

                                                                                                                                                                                                                                                          https://www.qcloud.com/document/product/436/7753

                                                                                                                                                                                                                                                          func (*ObjectService) GetACL

                                                                                                                                                                                                                                                            GetACL Get Object ACL接口实现使用API读取Object的ACL表,只有所有者有权操作。

                                                                                                                                                                                                                                                            https://www.qcloud.com/document/product/436/7744

                                                                                                                                                                                                                                                            func (*ObjectService) GetPresignedURL

                                                                                                                                                                                                                                                            func (s *ObjectService) GetPresignedURL(ctx context.Context, httpMethod, name, ak, sk string, expired time.Duration, opt interface{}) (*url.URL, error)

                                                                                                                                                                                                                                                              GetPresignedURL get the object presigned to down or upload file by url

                                                                                                                                                                                                                                                              func (*ObjectService) GetTagging

                                                                                                                                                                                                                                                              func (s *ObjectService) GetTagging(ctx context.Context, name string, id ...string) (*ObjectGetTaggingResult, *Response, error)

                                                                                                                                                                                                                                                              func (*ObjectService) GetToFile

                                                                                                                                                                                                                                                              func (s *ObjectService) GetToFile(ctx context.Context, name, localpath string, opt *ObjectGetOptions, id ...string) (*Response, error)

                                                                                                                                                                                                                                                                GetToFile download the object to local file

                                                                                                                                                                                                                                                                func (*ObjectService) Head

                                                                                                                                                                                                                                                                func (s *ObjectService) Head(ctx context.Context, name string, opt *ObjectHeadOptions, id ...string) (*Response, error)

                                                                                                                                                                                                                                                                  Head Object请求可以取回对应Object的元数据,Head的权限与Get的权限一致

                                                                                                                                                                                                                                                                  https://www.qcloud.com/document/product/436/7745

                                                                                                                                                                                                                                                                  func (*ObjectService) InitiateMultipartUpload

                                                                                                                                                                                                                                                                    InitiateMultipartUpload 请求实现初始化分片上传,成功执行此请求以后会返回Upload ID用于后续的Upload Part请求。

                                                                                                                                                                                                                                                                    https://www.qcloud.com/document/product/436/7746

                                                                                                                                                                                                                                                                    func (*ObjectService) ListParts

                                                                                                                                                                                                                                                                    func (s *ObjectService) ListParts(ctx context.Context, name, uploadID string, opt *ObjectListPartsOptions) (*ObjectListPartsResult, *Response, error)

                                                                                                                                                                                                                                                                      ListParts 用来查询特定分块上传中的已上传的块。

                                                                                                                                                                                                                                                                      https://www.qcloud.com/document/product/436/7747

                                                                                                                                                                                                                                                                      func (*ObjectService) ListUploads

                                                                                                                                                                                                                                                                      func (*ObjectService) MultiCopy

                                                                                                                                                                                                                                                                      func (s *ObjectService) MultiCopy(ctx context.Context, name string, sourceURL string, opt *MultiCopyOptions, id ...string) (*ObjectCopyResult, *Response, error)

                                                                                                                                                                                                                                                                      func (*ObjectService) MultiUpload

                                                                                                                                                                                                                                                                        MultiUpload/Upload 为高级upload接口,并发分块上传 注意该接口目前只供参考

                                                                                                                                                                                                                                                                        当 partSize > 0 时,由调用者指定分块大小,否则由 SDK 自动切分,单位为MB 由调用者指定分块大小时,请确认分块数量不超过10000

                                                                                                                                                                                                                                                                        func (*ObjectService) Options

                                                                                                                                                                                                                                                                        func (s *ObjectService) Options(ctx context.Context, name string, opt *ObjectOptionsOptions) (*Response, error)

                                                                                                                                                                                                                                                                          Options Object请求实现跨域访问的预请求。即发出一个 OPTIONS 请求给服务器以确认是否可以进行跨域操作。

                                                                                                                                                                                                                                                                          当CORS配置不存在时,请求返回403 Forbidden。

                                                                                                                                                                                                                                                                          https://www.qcloud.com/document/product/436/8288

                                                                                                                                                                                                                                                                          func (*ObjectService) PostRestore

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

                                                                                                                                                                                                                                                                            PutRestore API can recover an object of type archived by COS archive.

                                                                                                                                                                                                                                                                            https://cloud.tencent.com/document/product/436/12633

                                                                                                                                                                                                                                                                            func (*ObjectService) Put

                                                                                                                                                                                                                                                                            func (s *ObjectService) Put(ctx context.Context, name string, r io.Reader, uopt *ObjectPutOptions) (*Response, error)

                                                                                                                                                                                                                                                                              Put Object请求可以将一个文件(Oject)上传至指定Bucket。

                                                                                                                                                                                                                                                                              https://www.qcloud.com/document/product/436/7749

                                                                                                                                                                                                                                                                              func (*ObjectService) PutACL

                                                                                                                                                                                                                                                                              func (s *ObjectService) PutACL(ctx context.Context, name string, opt *ObjectPutACLOptions) (*Response, error)

                                                                                                                                                                                                                                                                                PutACL 使用API写入Object的ACL表,您可以通过Header:"x-cos-acl", "x-cos-grant-read" , "x-cos-grant-write" ,"x-cos-grant-full-control"传入ACL信息, 也可以通过body以XML格式传入ACL信息,但是只能选择Header和Body其中一种,否则,返回冲突。

                                                                                                                                                                                                                                                                                Put Object ACL是一个覆盖操作,传入新的ACL将覆盖原有ACL。只有所有者有权操作。

                                                                                                                                                                                                                                                                                "x-cos-acl":枚举值为public-read,private;public-read意味这个Object有公有读私有写的权限, private意味这个Object有私有读写的权限。

                                                                                                                                                                                                                                                                                "x-cos-grant-read":意味被赋予权限的用户拥有该Object的读权限

                                                                                                                                                                                                                                                                                "x-cos-grant-write":意味被赋予权限的用户拥有该Object的写权限

                                                                                                                                                                                                                                                                                "x-cos-grant-full-control":意味被赋予权限的用户拥有该Object的读写权限

                                                                                                                                                                                                                                                                                https://www.qcloud.com/document/product/436/7748

                                                                                                                                                                                                                                                                                func (*ObjectService) PutFromFile

                                                                                                                                                                                                                                                                                func (s *ObjectService) PutFromFile(ctx context.Context, name string, filePath string, opt *ObjectPutOptions) (resp *Response, err error)

                                                                                                                                                                                                                                                                                  PutFromFile put object from local file Notice that when use this put large file need set non-body of debug req/resp, otherwise will out of memory

                                                                                                                                                                                                                                                                                  func (*ObjectService) PutTagging

                                                                                                                                                                                                                                                                                  func (s *ObjectService) PutTagging(ctx context.Context, name string, opt *ObjectPutTaggingOptions, id ...string) (*Response, error)

                                                                                                                                                                                                                                                                                  func (*ObjectService) Select

                                                                                                                                                                                                                                                                                  func (s *ObjectService) Select(ctx context.Context, name string, opt *ObjectSelectOptions) (io.ReadCloser, error)

                                                                                                                                                                                                                                                                                  func (*ObjectService) SelectToFile

                                                                                                                                                                                                                                                                                  func (s *ObjectService) SelectToFile(ctx context.Context, name, file string, opt *ObjectSelectOptions) (*ObjectSelectResponse, error)

                                                                                                                                                                                                                                                                                  func (*ObjectService) Upload

                                                                                                                                                                                                                                                                                  func (*ObjectService) UploadPart

                                                                                                                                                                                                                                                                                  func (s *ObjectService) UploadPart(ctx context.Context, name, uploadID string, partNumber int, r io.Reader, uopt *ObjectUploadPartOptions) (*Response, error)

                                                                                                                                                                                                                                                                                    UploadPart 请求实现在初始化以后的分块上传,支持的块的数量为1到10000,块的大小为1 MB 到5 GB。 在每次请求Upload Part时候,需要携带partNumber和uploadID,partNumber为块的编号,支持乱序上传。

                                                                                                                                                                                                                                                                                    当传入uploadID和partNumber都相同的时候,后传入的块将覆盖之前传入的块。当uploadID不存在时会返回404错误,NoSuchUpload.

                                                                                                                                                                                                                                                                                    当 r 不是 bytes.Buffer/bytes.Reader/strings.Reader 时,必须指定 opt.ContentLength

                                                                                                                                                                                                                                                                                    https://www.qcloud.com/document/product/436/7750

                                                                                                                                                                                                                                                                                    type ObjectTaggingTag

                                                                                                                                                                                                                                                                                    type ObjectTaggingTag BucketTaggingTag

                                                                                                                                                                                                                                                                                    type ObjectUploadPartOptions

                                                                                                                                                                                                                                                                                    type ObjectUploadPartOptions struct {
                                                                                                                                                                                                                                                                                    	Expect                string `header:"Expect,omitempty" url:"-"`
                                                                                                                                                                                                                                                                                    	XCosContentSHA1       string `header:"x-cos-content-sha1,omitempty" url:"-"`
                                                                                                                                                                                                                                                                                    	ContentLength         int64  `header:"Content-Length,omitempty" url:"-"`
                                                                                                                                                                                                                                                                                    	ContentMD5            string `header:"Content-MD5,omitempty" url:"-"`
                                                                                                                                                                                                                                                                                    	XCosSSECustomerAglo   string `header:"x-cos-server-side-encryption-customer-algorithm,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                                                                    	XCosSSECustomerKey    string `header:"x-cos-server-side-encryption-customer-key,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                                                                    	XCosSSECustomerKeyMD5 string `header:"x-cos-server-side-encryption-customer-key-MD5,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                    	XCosTrafficLimit int `header:"x-cos-traffic-limit,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                    	XOptionHeader *http.Header `header:"-,omitempty" url:"-" xml:"-"`
                                                                                                                                                                                                                                                                                    	// 上传进度, ProgressCompleteEvent不能表示对应API调用成功,API是否调用成功的判断标准为返回err==nil
                                                                                                                                                                                                                                                                                    	Listener ProgressListener `header:"-" url:"-" xml:"-"`
                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                      ObjectUploadPartOptions is the options of upload-part

                                                                                                                                                                                                                                                                                      type OriginHttpHeader

                                                                                                                                                                                                                                                                                      type OriginHttpHeader struct {
                                                                                                                                                                                                                                                                                      	Key   string `xml:"Key,omitempty"`
                                                                                                                                                                                                                                                                                      	Value string `xml:"Value,omitempty"`
                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                      type Owner

                                                                                                                                                                                                                                                                                      type Owner struct {
                                                                                                                                                                                                                                                                                      	UIN         string `xml:"uin,omitempty"`
                                                                                                                                                                                                                                                                                      	ID          string `xml:",omitempty"`
                                                                                                                                                                                                                                                                                      	DisplayName string `xml:",omitempty"`
                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                        Owner defines Bucket/Object's owner

                                                                                                                                                                                                                                                                                        type PicImageInfo

                                                                                                                                                                                                                                                                                        type PicImageInfo struct {
                                                                                                                                                                                                                                                                                        	Format      string `xml:"Format,omitempty"`
                                                                                                                                                                                                                                                                                        	Width       int    `xml:"Width,omitempty"`
                                                                                                                                                                                                                                                                                        	Height      int    `xml:"Height,omitempty"`
                                                                                                                                                                                                                                                                                        	Quality     int    `xml:"Quality,omitempty"`
                                                                                                                                                                                                                                                                                        	Ave         string `xml:"Ave,omitempty"`
                                                                                                                                                                                                                                                                                        	Orientation int    `xml:"Orientation,omitempty"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        type PicOperations

                                                                                                                                                                                                                                                                                        type PicOperations struct {
                                                                                                                                                                                                                                                                                        	IsPicInfo int                  `json:"is_pic_info,omitempty"`
                                                                                                                                                                                                                                                                                        	Rules     []PicOperationsRules `json:"rules,omitemtpy"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        type PicOperationsRules

                                                                                                                                                                                                                                                                                        type PicOperationsRules struct {
                                                                                                                                                                                                                                                                                        	Bucket string `json:"bucket,omitempty"`
                                                                                                                                                                                                                                                                                        	FileId string `json:"fileid"`
                                                                                                                                                                                                                                                                                        	Rule   string `json:"rule"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        type PicOriginalInfo

                                                                                                                                                                                                                                                                                        type PicOriginalInfo struct {
                                                                                                                                                                                                                                                                                        	Key       string        `xml:"Key,omitempty"`
                                                                                                                                                                                                                                                                                        	Location  string        `xml:"Location,omitempty"`
                                                                                                                                                                                                                                                                                        	ImageInfo *PicImageInfo `xml:"ImageInfo,omitempty"`
                                                                                                                                                                                                                                                                                        	ETag      string        `xml:"ETag,omitempty"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        type PicProcessObject

                                                                                                                                                                                                                                                                                        type PicProcessObject struct {
                                                                                                                                                                                                                                                                                        	Key             string `xml:"Key,omitempty"`
                                                                                                                                                                                                                                                                                        	Location        string `xml:"Location,omitempty"`
                                                                                                                                                                                                                                                                                        	Format          string `xml:"Format,omitempty"`
                                                                                                                                                                                                                                                                                        	Width           int    `xml:"Width,omitempty"`
                                                                                                                                                                                                                                                                                        	Height          int    `xml:"Height,omitempty"`
                                                                                                                                                                                                                                                                                        	Size            int    `xml:"Size,omitempty"`
                                                                                                                                                                                                                                                                                        	Quality         int    `xml:"Quality,omitempty"`
                                                                                                                                                                                                                                                                                        	ETag            string `xml:"ETag,omitempty"`
                                                                                                                                                                                                                                                                                        	WatermarkStatus int    `xml:"WatermarkStatus,omitempty"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        type ProgressEvent

                                                                                                                                                                                                                                                                                        type ProgressEvent struct {
                                                                                                                                                                                                                                                                                        	EventType     ProgressEventType
                                                                                                                                                                                                                                                                                        	RWBytes       int64
                                                                                                                                                                                                                                                                                        	ConsumedBytes int64
                                                                                                                                                                                                                                                                                        	TotalBytes    int64
                                                                                                                                                                                                                                                                                        	Err           error
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        type ProgressEventType

                                                                                                                                                                                                                                                                                        type ProgressEventType int
                                                                                                                                                                                                                                                                                        const (
                                                                                                                                                                                                                                                                                        	// 数据开始传输
                                                                                                                                                                                                                                                                                        	ProgressStartedEvent ProgressEventType = iota
                                                                                                                                                                                                                                                                                        	// 数据传输中
                                                                                                                                                                                                                                                                                        	ProgressDataEvent
                                                                                                                                                                                                                                                                                        	// 数据传输完成, 但不能表示对应API调用完成
                                                                                                                                                                                                                                                                                        	ProgressCompletedEvent
                                                                                                                                                                                                                                                                                        	// 只有在数据传输时发生错误才会返回
                                                                                                                                                                                                                                                                                        	ProgressFailedEvent
                                                                                                                                                                                                                                                                                        )

                                                                                                                                                                                                                                                                                        type ProgressFrame

                                                                                                                                                                                                                                                                                        type ProgressFrame struct {
                                                                                                                                                                                                                                                                                        	XMLName        xml.Name `xml:"Progress"`
                                                                                                                                                                                                                                                                                        	BytesScanned   int      `xml:"BytesScanned"`
                                                                                                                                                                                                                                                                                        	BytesProcessed int      `xml:"BytesProcessed"`
                                                                                                                                                                                                                                                                                        	BytesReturned  int      `xml:"BytesReturned"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        type ProgressListener

                                                                                                                                                                                                                                                                                        type ProgressListener interface {
                                                                                                                                                                                                                                                                                        	ProgressChangedCallback(event *ProgressEvent)
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                          用户自定义Listener需要实现该方法

                                                                                                                                                                                                                                                                                          type PutBucketReplicationOptions

                                                                                                                                                                                                                                                                                          type PutBucketReplicationOptions struct {
                                                                                                                                                                                                                                                                                          	XMLName xml.Name                `xml:"ReplicationConfiguration"`
                                                                                                                                                                                                                                                                                          	Role    string                  `xml:"Role"`
                                                                                                                                                                                                                                                                                          	Rule    []BucketReplicationRule `xml:"Rule"`
                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                            PutBucketReplicationOptions is the options of PutBucketReplication

                                                                                                                                                                                                                                                                                            type PutVideoAuditingJobOptions

                                                                                                                                                                                                                                                                                            type PutVideoAuditingJobOptions struct {
                                                                                                                                                                                                                                                                                            	XMLName     xml.Name              `xml:"Request"`
                                                                                                                                                                                                                                                                                            	InputObject string                `xml:"Input>Object"`
                                                                                                                                                                                                                                                                                            	Conf        *VideoAuditingJobConf `xml:"Conf"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                            type PutVideoAuditingJobResult

                                                                                                                                                                                                                                                                                            type PutVideoAuditingJobResult struct {
                                                                                                                                                                                                                                                                                            	XMLName    xml.Name `xml:"Response"`
                                                                                                                                                                                                                                                                                            	JobsDetail struct {
                                                                                                                                                                                                                                                                                            		JobId        string `xml:"JobId,omitempty"`
                                                                                                                                                                                                                                                                                            		State        string `xml:"State,omitempty"`
                                                                                                                                                                                                                                                                                            		CreationTime string `xml:"CreationTime,omitempty"`
                                                                                                                                                                                                                                                                                            		Object       string `xml:"Object,omitempty"`
                                                                                                                                                                                                                                                                                            	} `xml:"JobsDetail,omitempty"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                            type PutVideoAuditingJobSnapshot

                                                                                                                                                                                                                                                                                            type PutVideoAuditingJobSnapshot struct {
                                                                                                                                                                                                                                                                                            	Mode         string  `xml:",omitempty"`
                                                                                                                                                                                                                                                                                            	Count        int     `xml:",omitempty"`
                                                                                                                                                                                                                                                                                            	TimeInterval float32 `xml:",omitempty"`
                                                                                                                                                                                                                                                                                            	Start        float32 `xml:",omitempty"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                            type RecognitionInfo

                                                                                                                                                                                                                                                                                            type RecognitionInfo struct {
                                                                                                                                                                                                                                                                                            	Code    int    `xml:"Code,omitempty"`
                                                                                                                                                                                                                                                                                            	Msg     string `xml:"Msg,omitempty"`
                                                                                                                                                                                                                                                                                            	HitFlag int    `xml:"HitFlag,omitempty"`
                                                                                                                                                                                                                                                                                            	Score   int    `xml:"Score,omitempty"`
                                                                                                                                                                                                                                                                                            	Label   string `xml:"Label,omitempty"`
                                                                                                                                                                                                                                                                                            	Count   int    `xml:"Count,omitempty"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                            type RedirectRequestsProtocol

                                                                                                                                                                                                                                                                                            type RedirectRequestsProtocol struct {
                                                                                                                                                                                                                                                                                            	Protocol string `xml:"Protocol,omitempty"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                            type ReplicationDestination

                                                                                                                                                                                                                                                                                            type ReplicationDestination struct {
                                                                                                                                                                                                                                                                                            	Bucket       string `xml:"Bucket"`
                                                                                                                                                                                                                                                                                            	StorageClass string `xml:"StorageClass,omitempty"`
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                              ReplicationDestination is the sub struct of BucketReplicationRule

                                                                                                                                                                                                                                                                                              type Response

                                                                                                                                                                                                                                                                                              type Response struct {
                                                                                                                                                                                                                                                                                              	*http.Response
                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                Response API 响应

                                                                                                                                                                                                                                                                                                type Results

                                                                                                                                                                                                                                                                                                type Results struct {
                                                                                                                                                                                                                                                                                                	PartNumber int
                                                                                                                                                                                                                                                                                                	Resp       *Response
                                                                                                                                                                                                                                                                                                	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                type SelectInputSerialization

                                                                                                                                                                                                                                                                                                type SelectInputSerialization struct {
                                                                                                                                                                                                                                                                                                	CompressionType string                  `xml:"CompressionType,omitempty"`
                                                                                                                                                                                                                                                                                                	CSV             *CSVInputSerialization  `xml:"CSV,omitempty"`
                                                                                                                                                                                                                                                                                                	JSON            *JSONInputSerialization `xml:"JSON,omitempty"`
                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                type SelectOutputSerialization

                                                                                                                                                                                                                                                                                                type SelectOutputSerialization struct {
                                                                                                                                                                                                                                                                                                	CSV  *CSVOutputSerialization  `xml:"CSV,omitempty"`
                                                                                                                                                                                                                                                                                                	JSON *JSONOutputSerialization `xml:"JSON,omitempty"`
                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                type ServiceGetResult

                                                                                                                                                                                                                                                                                                type ServiceGetResult struct {
                                                                                                                                                                                                                                                                                                	XMLName xml.Name `xml:"ListAllMyBucketsResult"`
                                                                                                                                                                                                                                                                                                	Owner   *Owner   `xml:"Owner"`
                                                                                                                                                                                                                                                                                                	Buckets []Bucket `xml:"Buckets>Bucket,omitempty"`
                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                  ServiceGetResult is the result of Get Service

                                                                                                                                                                                                                                                                                                  type ServiceService

                                                                                                                                                                                                                                                                                                  type ServiceService service

                                                                                                                                                                                                                                                                                                    Service 相关 API

                                                                                                                                                                                                                                                                                                    func (*ServiceService) Get

                                                                                                                                                                                                                                                                                                      Get Service 接口实现获取该用户下所有Bucket列表。

                                                                                                                                                                                                                                                                                                      该API接口需要使用Authorization签名认证, 且只能获取签名中AccessID所属账户的Bucket列表。

                                                                                                                                                                                                                                                                                                      https://www.qcloud.com/document/product/436/8291

                                                                                                                                                                                                                                                                                                      type StatsFrame

                                                                                                                                                                                                                                                                                                      type StatsFrame struct {
                                                                                                                                                                                                                                                                                                      	XMLName        xml.Name `xml:"Stats"`
                                                                                                                                                                                                                                                                                                      	BytesScanned   int      `xml:"BytesScanned"`
                                                                                                                                                                                                                                                                                                      	BytesProcessed int      `xml:"BytesProcessed"`
                                                                                                                                                                                                                                                                                                      	BytesReturned  int      `xml:"BytesReturned"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Text

                                                                                                                                                                                                                                                                                                      type Text struct {
                                                                                                                                                                                                                                                                                                      	FontSize     string `xml:"FontSize,omitempty"`
                                                                                                                                                                                                                                                                                                      	FontType     string `xml:"FontType,omitempty"`
                                                                                                                                                                                                                                                                                                      	FontColor    string `xml:"FontColor,omitempty"`
                                                                                                                                                                                                                                                                                                      	Transparency string `xml:"Transparency,omitempty"`
                                                                                                                                                                                                                                                                                                      	Text         string `xml:"Text,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type TimeInterval

                                                                                                                                                                                                                                                                                                      type TimeInterval struct {
                                                                                                                                                                                                                                                                                                      	Start    string `xml:"Start"`
                                                                                                                                                                                                                                                                                                      	Duration string `xml:"Duration"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type TransConfig

                                                                                                                                                                                                                                                                                                      type TransConfig struct {
                                                                                                                                                                                                                                                                                                      	AdjDarMethod          string `xml:"AdjDarMethod"`
                                                                                                                                                                                                                                                                                                      	IsCheckReso           string `xml:"IsCheckReso"`
                                                                                                                                                                                                                                                                                                      	ResoAdjMethod         string `xml:"ResoAdjMethod"`
                                                                                                                                                                                                                                                                                                      	IsCheckVideoBitrate   string `xml:"IsCheckVideoBitrate"`
                                                                                                                                                                                                                                                                                                      	VideoBitrateAdjMethod string `xml:"VideoBitrateAdjMethod"`
                                                                                                                                                                                                                                                                                                      	IsCheckAudioBitrate   string `xml:"IsCheckAudioBitrate"`
                                                                                                                                                                                                                                                                                                      	AudioBitrateAdjMethod string `xml:"AudioBitrateAdjMethod"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Transcode

                                                                                                                                                                                                                                                                                                      type Transcode struct {
                                                                                                                                                                                                                                                                                                      	Container    *Container    `xml:"Container,omitempty"`
                                                                                                                                                                                                                                                                                                      	Video        *Video        `xml:"Video,omitempty"`
                                                                                                                                                                                                                                                                                                      	TimeInterval *TimeInterval `xml:"TimeInterval,omitempty"`
                                                                                                                                                                                                                                                                                                      	Audio        *Audio        `xml:"Audio,omitempty"`
                                                                                                                                                                                                                                                                                                      	TransConfig  *TransConfig  `xml:"TransConfig,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type UpdateDocProcessQueueOptions

                                                                                                                                                                                                                                                                                                      type UpdateDocProcessQueueOptions struct {
                                                                                                                                                                                                                                                                                                      	XMLName      xml.Name                     `xml:"Request"`
                                                                                                                                                                                                                                                                                                      	Name         string                       `xml:"Name,omitempty"`
                                                                                                                                                                                                                                                                                                      	QueueID      string                       `xml:"QueueID,omitempty"`
                                                                                                                                                                                                                                                                                                      	State        string                       `xml:"State,omitempty"`
                                                                                                                                                                                                                                                                                                      	NotifyConfig *DocProcessQueueNotifyConfig `xml:"NotifyConfig,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type UpdateDocProcessQueueResult

                                                                                                                                                                                                                                                                                                      type UpdateDocProcessQueueResult struct {
                                                                                                                                                                                                                                                                                                      	XMLName   xml.Name         `xml:"Response"`
                                                                                                                                                                                                                                                                                                      	RequestId string           `xml:"RequestId"`
                                                                                                                                                                                                                                                                                                      	Queue     *DocProcessQueue `xml:"Queue"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type UpdateMediaProcessQueueOptions

                                                                                                                                                                                                                                                                                                      type UpdateMediaProcessQueueOptions struct {
                                                                                                                                                                                                                                                                                                      	XMLName      xml.Name                       `xml:"Request"`
                                                                                                                                                                                                                                                                                                      	Name         string                         `xml:"Name,omitempty"`
                                                                                                                                                                                                                                                                                                      	QueueID      string                         `xml:"QueueID,omitempty"`
                                                                                                                                                                                                                                                                                                      	State        string                         `xml:"State,omitempty"`
                                                                                                                                                                                                                                                                                                      	NotifyConfig *MediaProcessQueueNotifyConfig `xml:"NotifyConfig,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type UpdateMediaProcessQueueResult

                                                                                                                                                                                                                                                                                                      type UpdateMediaProcessQueueResult struct {
                                                                                                                                                                                                                                                                                                      	XMLName   xml.Name           `xml:"Response"`
                                                                                                                                                                                                                                                                                                      	RequestId string             `xml:"RequestId"`
                                                                                                                                                                                                                                                                                                      	Queue     *MediaProcessQueue `xml:"Queue"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Video

                                                                                                                                                                                                                                                                                                      type Video struct {
                                                                                                                                                                                                                                                                                                      	Codec         string `xml:"Codec"`
                                                                                                                                                                                                                                                                                                      	Width         string `xml:"Width"`
                                                                                                                                                                                                                                                                                                      	Height        string `xml:"Height"`
                                                                                                                                                                                                                                                                                                      	Fps           string `xml:"Fps"`
                                                                                                                                                                                                                                                                                                      	Remove        string `xml:"Remove"`
                                                                                                                                                                                                                                                                                                      	Profile       string `xml:"Profile"`
                                                                                                                                                                                                                                                                                                      	Bitrate       string `xml:"Bitrate"`
                                                                                                                                                                                                                                                                                                      	Crf           string `xml:"Crf"`
                                                                                                                                                                                                                                                                                                      	Gop           string `xml:"Gop"`
                                                                                                                                                                                                                                                                                                      	Preset        string `xml:"Preset"`
                                                                                                                                                                                                                                                                                                      	Bufsize       string `xml:"Bufsize"`
                                                                                                                                                                                                                                                                                                      	Maxrate       string `xml:"Maxrate"`
                                                                                                                                                                                                                                                                                                      	HlsTsTime     string `xml:"HlsTsTime"`
                                                                                                                                                                                                                                                                                                      	Pixfmt        string `xml:"Pixfmt"`
                                                                                                                                                                                                                                                                                                      	LongShortMode string `xml:"LongShortMode"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type VideoAuditingJobConf

                                                                                                                                                                                                                                                                                                      type VideoAuditingJobConf struct {
                                                                                                                                                                                                                                                                                                      	DetectType string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	Snapshot   *PutVideoAuditingJobSnapshot `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	Callback   string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type VideoAuditingJobDetail

                                                                                                                                                                                                                                                                                                      type VideoAuditingJobDetail struct {
                                                                                                                                                                                                                                                                                                      	Code          string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	Message       string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	JobId         string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	State         string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	CreationTime  string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	Object        string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	SnapshotCount string                       `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	Result        int                          `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	PornInfo      *RecognitionInfo             `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	TerrorismInfo *RecognitionInfo             `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	PoliticsInfo  *RecognitionInfo             `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	AdsInfo       *RecognitionInfo             `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      	Snapshot      *GetVideoAuditingJobSnapshot `xml:",omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type Watermark

                                                                                                                                                                                                                                                                                                      type Watermark struct {
                                                                                                                                                                                                                                                                                                      	Type      string `xml:"Type,omitempty"`
                                                                                                                                                                                                                                                                                                      	Pos       string `xml:"Pos,omitempty"`
                                                                                                                                                                                                                                                                                                      	LocMode   string `xml:"LocMode,omitempty"`
                                                                                                                                                                                                                                                                                                      	Dx        string `xml:"Dx,omitempty"`
                                                                                                                                                                                                                                                                                                      	Dy        string `xml:"Dy,omitempty"`
                                                                                                                                                                                                                                                                                                      	StartTime string `xml:"StartTime,omitempty"`
                                                                                                                                                                                                                                                                                                      	EndTime   string `xml:"EndTime,omitempty"`
                                                                                                                                                                                                                                                                                                      	Image     *Image `xml:"Image,omitempty"`
                                                                                                                                                                                                                                                                                                      	Text      *Text  `xml:"Text,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type WebsiteRoutingRule

                                                                                                                                                                                                                                                                                                      type WebsiteRoutingRule struct {
                                                                                                                                                                                                                                                                                                      	ConditionErrorCode string `xml:"Condition>HttpErrorCodeReturnedEquals,omitempty"`
                                                                                                                                                                                                                                                                                                      	ConditionPrefix    string `xml:"Condition>KeyPrefixEquals,omitempty"`
                                                                                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                      	RedirectProtocol         string `xml:"Redirect>Protocol,omitempty"`
                                                                                                                                                                                                                                                                                                      	RedirectReplaceKey       string `xml:"Redirect>ReplaceKeyWith,omitempty"`
                                                                                                                                                                                                                                                                                                      	RedirectReplaceKeyPrefix string `xml:"Redirect>ReplaceKeyPrefixWith,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      type WebsiteRoutingRules

                                                                                                                                                                                                                                                                                                      type WebsiteRoutingRules struct {
                                                                                                                                                                                                                                                                                                      	Rules []WebsiteRoutingRule `xml:"RoutingRule,omitempty"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                      Directories

                                                                                                                                                                                                                                                                                                      Path Synopsis
                                                                                                                                                                                                                                                                                                      example
                                                                                                                                                                                                                                                                                                      CI
                                                                                                                                                                                                                                                                                                      sts