cos

package
v0.0.0-...-6d4355a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2018 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTimeoutCtx

func GetTimeoutCtx(timeout time.Duration) context.Context

GetTimeoutCtx 获取一个带超时的context

func XMLDecode

func XMLDecode(r io.Reader, i interface{}) error

XMLDecode xml解析方法

Types

type AccessControl

type AccessControl struct {
	ACL         string
	GrantRead   string
	GrantWrite  string
	FullControl string
}

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

func (b *Bucket) AbortUpload(ctx context.Context, obj, uploadID string) error

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

func (b *Bucket) CopyObject(ctx context.Context, src, dst string, acl *AccessControl) error

CopyObject 复制对象

func (*Bucket) DeleteObject

func (b *Bucket) DeleteObject(ctx context.Context, obj string) error

DeleteObject delete object

func (*Bucket) DownloadObject

func (b *Bucket) DownloadObject(ctx context.Context, object string, w io.Writer) error

DownloadObject 下载对象

func (*Bucket) HeadObject

func (b *Bucket) HeadObject(ctx context.Context, object string) error

获得云存储上文件信息

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

func (b *Bucket) ObjectExists(ctx context.Context, obj string) error

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 New

func New(appID, secretID, secretKey, region string) *Client

New cos包的入口

func (*Client) Bucket

func (c *Client) Bucket(name string) *Bucket

Bucket get bucket

func (*Client) BucketExists

func (c *Client) BucketExists(ctx context.Context, name string) error

BucketExists bucket exists?

func (*Client) CreateBucket

func (c *Client) CreateBucket(ctx context.Context, name string, acl *AccessControl) error

CreateBucket 建立bucket

func (*Client) DeleteBucket

func (c *Client) DeleteBucket(ctx context.Context, name string) error

DeleteBucket delete a bucket

func (*Client) GetBucketACL

func (c *Client) GetBucketACL(ctx context.Context, name string) (*AccessControlPolicy, error)

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

func (c *Client) SetBucketACL(ctx context.Context, name string, acl *AccessControl) error

SetBucketACL set bucket's acl

type CompleteMultipartUpload

type CompleteMultipartUpload struct {
	Part []struct {
		PartNumber int
		ETag       string
	}
}

CompleteMultipartUpload compelete slice upload

type CompleteMultipartUploadResult

type CompleteMultipartUploadResult struct {
	Location string
	Bucket   string
	Key      string
	ETag     string
}

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 Conn

type Conn struct {
	// contains filtered or unexported fields
}

Conn http 请求类

func (*Conn) Do

func (conn *Conn) Do(ctx context.Context, method, bucket, object string, params map[string]interface{}, headers map[string]string, body io.Reader) (*http.Response, error)

Do 所有请求的入口

type Error

type Error struct {
	Code      string
	Message   string
	Resource  string
	RequestID string `xml:"RequestId"`
	TraceID   string `xml:"TaceId"`
}

Error 错误消息

type FileError

type FileError struct {
	Message string
}

FileError slice upload err

func (FileError) Error

func (fe FileError) Error() string

Error implements error

type HTTPError

type HTTPError struct {
	Code    int
	Message string
}

HTTPError http error struct

func (HTTPError) Error

func (he HTTPError) Error() string

Error error interface

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 ParamError

type ParamError struct {
	Message string
}

ParamError slice upload err

func (ParamError) Error

func (pe ParamError) Error() string

Error implements error

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{}

type SliceError

type SliceError struct {
	Message string
}

SliceError slice upload err

func (SliceError) Error

func (se SliceError) Error() string

Error implements error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL