Documentation ¶
Index ¶
- func GetTimeoutCtx(timeout time.Duration) context.Context
- func XMLDecode(r io.Reader, i interface{}) error
- type AccessControl
- type AccessControlPolicy
- type Bucket
- func (b *Bucket) AbortUpload(ctx context.Context, obj, uploadID string) error
- func (b *Bucket) CompleteSliceUpload(ctx context.Context, dst, uploadID string, fd *os.File, slice []*ObjectSlice) error
- func (b *Bucket) CopyObject(ctx context.Context, src, dst string, acl *AccessControl) error
- func (b *Bucket) DeleteObject(ctx context.Context, obj string) error
- func (b *Bucket) DownloadObject(ctx context.Context, object string, w io.Writer) error
- func (b *Bucket) HeadObject(ctx context.Context, object string) error
- func (b *Bucket) InitSliceUpload(ctx context.Context, obj string, headers map[string]string) (string, error)
- func (b *Bucket) ObjectExists(ctx context.Context, obj string) error
- func (b *Bucket) PerformSliceUpload(ctx context.Context, dst, uploadID string, fd *os.File, taskNum int) ([]*ObjectSlice, error)
- func (b *Bucket) UploadObject(ctx context.Context, object string, content io.Reader, acl *AccessControl) error
- func (b *Bucket) UploadObjectBySlice(ctx context.Context, dst, src string, taskNum int, headers map[string]string) error
- func (b *Bucket) UploadSlice(ctx context.Context, uploadID, dst string, number int, etag string, ...) error
- func (b *Bucket) Worker(ctx context.Context, fd *os.File, jobs <-chan *ObjectSlice, ...)
- type Client
- func (c *Client) Bucket(name string) *Bucket
- func (c *Client) BucketExists(ctx context.Context, name string) error
- func (c *Client) CreateBucket(ctx context.Context, name string, acl *AccessControl) error
- func (c *Client) DeleteBucket(ctx context.Context, name string) error
- func (c *Client) GetBucketACL(ctx context.Context, name string) (*AccessControlPolicy, error)
- func (c *Client) GetBucketList(ctx context.Context) (*ListAllMyBucketsResult, error)
- func (c *Client) ListBucketContents(ctx context.Context, name string, qc *QueryCondition) (*ListBucketResult, error)
- func (c *Client) ListUploading(ctx context.Context, bucket string, lu *ListUploadParam) (*ListMultipartUploadsResult, error)
- func (c *Client) SetBucketACL(ctx context.Context, name string, acl *AccessControl) error
- type CompleteMultipartUpload
- type CompleteMultipartUploadResult
- type Conf
- type Conn
- type Error
- type FileError
- type HTTPError
- type InitiateMultipartUploadResult
- type ListAllMyBucketsResult
- type ListBucketResult
- type ListMultipartUploadsResult
- type ListUploadParam
- type ObjectSlice
- type ParamError
- type QueryCondition
- type SliceError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetTimeoutCtx ¶
GetTimeoutCtx 获取一个带超时的context
Types ¶
type AccessControl ¶
AccessControl privilige
func (*AccessControl) GenHead ¶
func (acl *AccessControl) GenHead() map[string]string
GenHead 生成http head
type AccessControlPolicy ¶
type AccessControlPolicy struct { Owner struct { ID string DisplayName string } AccessControlList struct { Grant []struct { Grantee struct { ID string DisplayName string } Permission string } } }
AccessControlPolicy acl return
type Bucket ¶
type Bucket struct { Name string // contains filtered or unexported fields }
Bucket bucket
func (*Bucket) AbortUpload ¶
AbortUpload 放弃上传
func (*Bucket) CompleteSliceUpload ¶
func (b *Bucket) CompleteSliceUpload(ctx context.Context, dst, uploadID string, fd *os.File, slice []*ObjectSlice) error
CompleteSliceUpload finish slice Upload
func (*Bucket) CopyObject ¶
CopyObject 复制对象
func (*Bucket) DeleteObject ¶
DeleteObject delete object
func (*Bucket) DownloadObject ¶
DownloadObject 下载对象
func (*Bucket) HeadObject ¶
获得云存储上文件信息
func (*Bucket) InitSliceUpload ¶
func (b *Bucket) InitSliceUpload(ctx context.Context, obj string, headers map[string]string) (string, error)
InitSliceUpload init upload by slice
func (*Bucket) ObjectExists ¶
ObjectExists object exists
func (*Bucket) PerformSliceUpload ¶
func (b *Bucket) PerformSliceUpload(ctx context.Context, dst, uploadID string, fd *os.File, taskNum int) ([]*ObjectSlice, error)
PerformSliceUpload perform slice upload
func (*Bucket) UploadObject ¶
func (b *Bucket) UploadObject(ctx context.Context, object string, content io.Reader, acl *AccessControl) error
UploadObject 上传文件
func (*Bucket) UploadObjectBySlice ¶
func (b *Bucket) UploadObjectBySlice(ctx context.Context, dst, src string, taskNum int, headers map[string]string) error
UploadObjectBySlice upload by slice
func (*Bucket) UploadSlice ¶
func (b *Bucket) UploadSlice(ctx context.Context, uploadID, dst string, number int, etag string, content io.Reader) error
UploadSlice upload one slice
func (*Bucket) Worker ¶
func (b *Bucket) Worker(ctx context.Context, fd *os.File, jobs <-chan *ObjectSlice, result chan<- *ObjectSlice)
Worker woker for slice upload
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client 客户端, cos的句柄
func (*Client) BucketExists ¶
BucketExists bucket exists?
func (*Client) CreateBucket ¶
CreateBucket 建立bucket
func (*Client) DeleteBucket ¶
DeleteBucket delete a bucket
func (*Client) GetBucketACL ¶
GetBucketACL get bucket's acl
func (*Client) GetBucketList ¶
func (c *Client) GetBucketList(ctx context.Context) (*ListAllMyBucketsResult, error)
GetBucketList 获取bucketlist
func (*Client) ListBucketContents ¶
func (c *Client) ListBucketContents(ctx context.Context, name string, qc *QueryCondition) (*ListBucketResult, error)
ListBucketContents list
func (*Client) ListUploading ¶
func (c *Client) ListUploading(ctx context.Context, bucket string, lu *ListUploadParam) (*ListMultipartUploadsResult, error)
ListUploading list uploading task
func (*Client) SetBucketACL ¶
SetBucketACL set bucket's acl
type CompleteMultipartUpload ¶
CompleteMultipartUpload compelete slice upload
type CompleteMultipartUploadResult ¶
CompleteMultipartUploadResult compeleted slice upload
type Conf ¶
type Conf struct { AppID string SecretID string SecretKey string Region string PartSize int64 RetryTimes int UA string Domain string }
Conf config struct
type Error ¶
type Error struct { Code string Message string Resource string RequestID string `xml:"RequestId"` TraceID string `xml:"TaceId"` }
Error 错误消息
type InitiateMultipartUploadResult ¶
type InitiateMultipartUploadResult struct { Bucket string Key string UploadID string `xml:"UploadId"` }
InitiateMultipartUploadResult init slice upload
type ListAllMyBucketsResult ¶
type ListAllMyBucketsResult struct { Owner struct { ID string DisplayName string } Buckets struct { Bucket []struct { Name string Location string CreateDate string } } }
ListAllMyBucketsResult 获取bucket列表的结果
type ListBucketResult ¶
type ListBucketResult struct { Name string EncodingType string `xml:"Encoding-Type"` Prefix string Marker string MaxKeys int IsTruncated bool NextMarker string Contents []struct { Key string LastModified string ETag string Size int64 Owner struct { ID string } StorageClass string } CommonPrefixes []struct { Prefix string } }
ListBucketResult list bucket contents result
type ListMultipartUploadsResult ¶
type ListMultipartUploadsResult struct { Bucket string EncodingType string `xml:"Encoding-Type"` KeyMarker string UploadIDMarker string `xml:"UploadIdMarker"` NextKeyMarker string NextUploadIDMarker string `xml:"NextUploadIdMarker"` MaxUploads int IsTruncated bool Prefix string Delimiter string Upload []struct { Key string UploadID string StorageClass string Initiator struct { UIN string } Owner struct { UID string } Initiated string } CommonPrefixes []struct { Prefix string } }
ListMultipartUploadsResult list uploading task
type ListUploadParam ¶
type ListUploadParam struct { Prefix string Delimiter string EncodingType string MaxUploads int KeyMarker string UploadIDMarker string }
ListUploadParam list upload param
func (*ListUploadParam) GenParams ¶
func (lup *ListUploadParam) GenParams() map[string]interface{}
GenParams generate params for request
type ObjectSlice ¶
type ObjectSlice struct { UploadID string Size int64 Offset int64 Number int MD5 string Dst string Result bool }
ObjectSlice object slice
type QueryCondition ¶
type QueryCondition struct { Prefix string Delimiter string EncodingType string Marker string MaxKeys int }
QueryCondition query condition
func (*QueryCondition) GenParams ¶
func (qc *QueryCondition) GenParams() map[string]interface{}
GenParams generate params:map[string]interface{}