aliyun-oss-go-sdk: github.com/aliyun/aliyun-oss-go-sdk/oss Index | Files

package oss

import "github.com/aliyun/aliyun-oss-go-sdk/oss"

Package oss implements functions for access oss service. It has two main struct Client and Bucket.

Index

Package Files

auth.go bucket.go client.go conf.go conn.go const.go crc.go download.go error.go mime.go model.go multicopy.go multipart.go option.go progress.go type.go udf.go upload.go utils.go

Constants

const (
    HTTPHeaderAcceptEncoding     string = "Accept-Encoding"
    HTTPHeaderAuthorization             = "Authorization"
    HTTPHeaderCacheControl              = "Cache-Control"
    HTTPHeaderContentDisposition        = "Content-Disposition"
    HTTPHeaderContentEncoding           = "Content-Encoding"
    HTTPHeaderContentLength             = "Content-Length"
    HTTPHeaderContentMD5                = "Content-MD5"
    HTTPHeaderContentType               = "Content-Type"
    HTTPHeaderContentLanguage           = "Content-Language"
    HTTPHeaderDate                      = "Date"
    HTTPHeaderEtag                      = "ETag"
    HTTPHeaderExpires                   = "Expires"
    HTTPHeaderHost                      = "Host"
    HTTPHeaderLastModified              = "Last-Modified"
    HTTPHeaderRange                     = "Range"
    HTTPHeaderLocation                  = "Location"
    HTTPHeaderOrigin                    = "Origin"
    HTTPHeaderServer                    = "Server"
    HTTPHeaderUserAgent                 = "User-Agent"
    HTTPHeaderIfModifiedSince           = "If-Modified-Since"
    HTTPHeaderIfUnmodifiedSince         = "If-Unmodified-Since"
    HTTPHeaderIfMatch                   = "If-Match"
    HTTPHeaderIfNoneMatch               = "If-None-Match"

    HTTPHeaderOssACL                         = "X-Oss-Acl"
    HTTPHeaderOssMetaPrefix                  = "X-Oss-Meta-"
    HTTPHeaderOssObjectACL                   = "X-Oss-Object-Acl"
    HTTPHeaderOssSecurityToken               = "X-Oss-Security-Token"
    HTTPHeaderOssServerSideEncryption        = "X-Oss-Server-Side-Encryption"
    HTTPHeaderOssCopySource                  = "X-Oss-Copy-Source"
    HTTPHeaderOssCopySourceRange             = "X-Oss-Copy-Source-Range"
    HTTPHeaderOssCopySourceIfMatch           = "X-Oss-Copy-Source-If-Match"
    HTTPHeaderOssCopySourceIfNoneMatch       = "X-Oss-Copy-Source-If-None-Match"
    HTTPHeaderOssCopySourceIfModifiedSince   = "X-Oss-Copy-Source-If-Modified-Since"
    HTTPHeaderOssCopySourceIfUnmodifiedSince = "X-Oss-Copy-Source-If-Unmodified-Since"
    HTTPHeaderOssMetadataDirective           = "X-Oss-Metadata-Directive"
    HTTPHeaderOssNextAppendPosition          = "X-Oss-Next-Append-Position"
    HTTPHeaderOssRequestID                   = "X-Oss-Request-Id"
    HTTPHeaderOssCRC64                       = "X-Oss-Hash-Crc64ecma"
    HTTPHeaderOssSymlinkTarget               = "X-Oss-Symlink-Target"
)

Http头标签

const (
    HTTPParamExpires       = "Expires"
    HTTPParamAccessKeyId   = "OSSAccessKeyId"
    HTTPParamSignature     = "Signature"
    HTTPParamSecurityToken = "security-token"
)

Http Param

const (
    MaxPartSize = 5 * 1024 * 1024 * 1024 // 文件片最大值,5GB
    MinPartSize = 100 * 1024             // 文件片最小值,100KBß

    FilePermMode = os.FileMode(0664) // 新建文件默认权限

    TempFilePrefix = "oss-go-temp-" // 临时文件前缀
    TempFileSuffix = ".temp"        // 临时文件后缀

    CheckpointFileSuffix = ".cp" // Checkpoint文件后缀

    Version = "1.4.0" // Go sdk版本
)

其它常量

Variables

var SignKeyList = []string{"acl", "uploads", "location", "cors", "logging", "website", "referer", "lifecycle", "delete", "append", "tagging", "objectMeta", "uploadId", "partNumber", "security-token", "position", "img", "style", "styleName", "replication", "replicationProgress", "replicationLocation", "cname", "bucketInfo", "comp", "qos", "live", "status", "vod", "startTime", "endTime", "symlink", "x-oss-process", "response-content-type", "response-content-language", "response-expires", "response-cache-control", "response-content-disposition", "response-content-encoding", "udf", "udfName", "udfImage", "udfId", "udfImageDesc", "udfApplication", "comp", "udfApplicationLog"}

func GetNowGMT Uses

func GetNowGMT() string

GetNowGMT 获取当前时间,格式形如"Mon, 02 Jan 2006 15:04:05 GMT",HTTP中使用的时间格式

func GetNowNanoSec Uses

func GetNowNanoSec() int64

GetNowNanoSec returns t as a Unix time, the number of nanoseconds elapsed since January 1, 1970 UTC. The result is undefined if the Unix time in nanoseconds cannot be represented by an int64. Note that this means the result of calling UnixNano on the zero Time is undefined. 获取当前时间,从UTC开始的纳秒。

func GetNowSec Uses

func GetNowSec() int64

GetNowSec returns Unix time, the number of seconds elapsed since January 1, 1970 UTC. 获取当前时间,从UTC开始的秒数。

func GetPartEnd Uses

func GetPartEnd(begin int64, total int64, per int64) int64

GetPartEnd 计算结束位置

func NewCRC Uses

func NewCRC(tab *crc64.Table, init uint64) hash.Hash64

NewCRC creates a new hash.Hash64 computing the CRC-64 checksum using the polynomial represented by the Table.

func SplitFileByPartNum Uses

func SplitFileByPartNum(fileName string, chunkNum int) ([]FileChunk, error)

SplitFileByPartNum Split big file to part by the num of part 按指定的块数分割文件。返回值FileChunk为分割结果,error为nil时有效。

func SplitFileByPartSize Uses

func SplitFileByPartSize(fileName string, chunkSize int64) ([]FileChunk, error)

SplitFileByPartSize Split big file to part by the size of part 按块大小分割文件。返回值FileChunk为分割结果,error为nil时有效。

func TeeReader Uses

func TeeReader(reader io.Reader, writer io.Writer, totalBytes int64, listener ProgressListener, tracker *readerTracker) io.Reader

TeeReader returns a Reader that writes to w what it reads from r. All reads from r performed through it are matched with corresponding writes to w. There is no internal buffering - the write must complete before the read completes. Any error encountered while writing is reported as a read error.

func TypeByExtension Uses

func TypeByExtension(filePath string) string

TypeByExtension returns the MIME type associated with the file extension ext. 获取文件类型,选项ContentType使用

type ACLType Uses

type ACLType string

ACLType Bucket/Object的访问控制

const (
    // ACLPrivate 私有读写
    ACLPrivate ACLType = "private"

    // ACLPublicRead 公共读私有写
    ACLPublicRead ACLType = "public-read"

    // ACLPublicReadWrite 公共读写
    ACLPublicReadWrite ACLType = "public-read-write"

    // ACLDefault Object默认权限,Bucket无此权限
    ACLDefault ACLType = "default"
)

type AppendObjectRequest Uses

type AppendObjectRequest struct {
    ObjectKey string
    Reader    io.Reader
    Position  int64
}

AppendObjectRequest The requtest of DoAppendObject

type AppendObjectResult Uses

type AppendObjectResult struct {
    NextPosition int64
    CRC          uint64
}

AppendObjectResult The result of DoAppendObject

type Bucket Uses

type Bucket struct {
    Client     Client
    BucketName string
}

Bucket implements the operations of object.

func (Bucket) AbortMultipartUpload Uses

func (bucket Bucket) AbortMultipartUpload(imur InitiateMultipartUploadResult) error

AbortMultipartUpload 取消分片上传任务。

imur InitiateMultipartUpload的返回值。

error 操作成功error为nil,非nil为错误信息。

func (Bucket) AppendObject Uses

func (bucket Bucket) AppendObject(objectKey string, reader io.Reader, appendPosition int64, options ...Option) (int64, error)

AppendObject 追加方式上传。

AppendObject参数必须包含position,其值指定从何处进行追加。首次追加操作的position必须为0, 后续追加操作的position是Object的当前长度。例如,第一次Append Object请求指定position值为0, content-length是65536;那么,第二次Append Object需要指定position为65536。 每次操作成功后,响应头部x-oss-next-append-position也会标明下一次追加的position。

objectKey 需要追加的Object。 reader io.Reader,读取追的内容。 appendPosition object追加的起始位置。 destObjectProperties 第一次追加时指定新对象的属性,如CacheControl、ContentDisposition、ContentEncoding、 Expires、ServerSideEncryption、ObjectACL。

int64 下次追加的开始位置,error为nil空时有效。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) CompleteMultipartUpload Uses

func (bucket Bucket) CompleteMultipartUpload(imur InitiateMultipartUploadResult,
    parts []UploadPart) (CompleteMultipartUploadResult, error)

CompleteMultipartUpload 提交分片上传任务。

imur InitiateMultipartUpload的返回值。 parts UploadPart/UploadPartFromFile/UploadPartCopy返回值组成的数组。

CompleteMultipartUploadResponse 操作成功后的返回值。error为nil时有效。 error 操作成功error为nil,非nil为错误信息。

func (Bucket) CopyFile Uses

func (bucket Bucket) CopyFile(srcBucketName, srcObjectKey, destObjectKey string, partSize int64, options ...Option) error

CopyFile 分片复制文件

srcBucketName 源Bucket名称。 srcObjectKey 源Object名称。 destObjectKey 目标Object名称。目标Bucket名称为Bucket.BucketName。 partSize 复制文件片的大小,字节数。比如100 * 1024为每片100KB。 options Object的属性限制项。详见InitiateMultipartUpload。

error 操作成功error为nil,非nil为错误信息。

func (Bucket) CopyObject Uses

func (bucket Bucket) CopyObject(srcObjectKey, destObjectKey string, options ...Option) (CopyObjectResult, error)

CopyObject 同一个bucket内拷贝Object。

srcObjectKey Copy的源对象。 destObjectKey Copy的目标对象。 options Copy对象时,您可以指定源对象的限制条件,满足限制条件时copy,不满足时返回错误,您可以选择如下选项CopySourceIfMatch、 CopySourceIfNoneMatch、CopySourceIfModifiedSince、CopySourceIfUnmodifiedSince、MetadataDirective。 Copy对象时,您可以指定目标对象的属性,如CacheControl、ContentDisposition、ContentEncoding、Expires、 ServerSideEncryption、ObjectACL、Meta,选项的含义请参看 https://help.aliyun.com/document_detail/oss/api-reference/object/CopyObject.html

error 操作无错误为nil,非nil为错误信息。

func (Bucket) CopyObjectFrom Uses

func (bucket Bucket) CopyObjectFrom(srcBucketName, srcObjectKey, destObjectKey string, options ...Option) (CopyObjectResult, error)

CopyObjectFrom bucket间拷贝object。

srcBucketName 源Bucket名称。 srcObjectKey 源Object名称。 destObjectKey 目标Object名称。目标Bucket名称为Bucket.BucketName。 options Copy选项,详见CopyObject的options。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) CopyObjectTo Uses

func (bucket Bucket) CopyObjectTo(destBucketName, destObjectKey, srcObjectKey string, options ...Option) (CopyObjectResult, error)

CopyObjectTo bucket间拷贝object。

srcObjectKey 源Object名称。源Bucket名称为Bucket.BucketName。 destBucketName 目标Bucket名称。 destObjectKey 目标Object名称。 options Copy选项,详见CopyObject的options。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) DeleteObject Uses

func (bucket Bucket) DeleteObject(objectKey string) error

DeleteObject 删除Object。

objectKey 待删除Object。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) DeleteObjects Uses

func (bucket Bucket) DeleteObjects(objectKeys []string, options ...Option) (DeleteObjectsResult, error)

DeleteObjects 批量删除object。

objectKeys 待删除object类表。 options 删除选项,DeleteObjectsQuiet,是否是安静模式,默认不使用。

DeleteObjectsResult 非安静模式的的返回值。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) DoAppendObject Uses

func (bucket Bucket) DoAppendObject(request *AppendObjectRequest, options []Option) (*AppendObjectResult, error)

DoAppendObject 追加上传。

request 追加上传请求。 options 追加上传选项。

AppendObjectResult 追加上传请求返回值。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) DoGetObject Uses

func (bucket Bucket) DoGetObject(request *GetObjectRequest, options []Option) (*GetObjectResult, error)

DoGetObject 下载文件

request 下载请求 options 对象的属性限制项。详见GetObject的options。

GetObjectResult 下载请求返回值。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) DoGetObjectWithURL Uses

func (bucket Bucket) DoGetObjectWithURL(signedURL string, options []Option) (*GetObjectResult, error)

DoGetObjectWithURL 下载文件

signedURL 签名的URL。 options 对象的属性限制项。详见GetObject的options。

GetObjectResult 下载请求返回值。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) DoPutObject Uses

func (bucket Bucket) DoPutObject(request *PutObjectRequest, options []Option) (*Response, error)

DoPutObject 上传文件。

request 上传请求。 options 上传选项。

Response 上传请求返回值。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) DoPutObjectWithURL Uses

func (bucket Bucket) DoPutObjectWithURL(signedURL string, reader io.Reader, options []Option) (*Response, error)

DoPutObjectWithURL 上传文件。

signedURL 签名的URL。 reader io.Reader读取object的数据。 options 上传选项。

Response 上传请求返回值。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) DoUploadPart Uses

func (bucket Bucket) DoUploadPart(request *UploadPartRequest, options []Option) (*UploadPartResult, error)

DoUploadPart 上传分片。

request 上传分片请求。

UploadPartResult 上传分片请求返回值。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) DownloadFile Uses

func (bucket Bucket) DownloadFile(objectKey, filePath string, partSize int64, options ...Option) error

DownloadFile 分片下载文件

objectKey object key。 filePath 本地文件。objectKey下载到文件。 partSize 本次上传文件片的大小,字节数。比如100 * 1024为每片100KB。 options Object的属性限制项。详见GetObject。

error 操作成功error为nil,非nil为错误信息。

func (Bucket) GetObject Uses

func (bucket Bucket) GetObject(objectKey string, options ...Option) (io.ReadCloser, error)

GetObject 下载文件。

objectKey 下载的文件名称。 options 对象的属性限制项,可选值有Range、IfModifiedSince、IfUnmodifiedSince、IfMatch、 IfNoneMatch、AcceptEncoding,详细请参考 https://help.aliyun.com/document_detail/oss/api-reference/object/GetObject.html

io.ReadCloser reader,读取数据后需要close。error为nil时有效。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) GetObjectACL Uses

func (bucket Bucket) GetObjectACL(objectKey string) (GetObjectACLResult, error)

GetObjectACL 获取对象的ACL权限。

objectKey 获取权限的object。

GetObjectAclResponse 获取权限操作返回值,error为nil时有效。GetObjectAclResponse.Acl为对象的权限。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) GetObjectDetailedMeta Uses

func (bucket Bucket) GetObjectDetailedMeta(objectKey string, options ...Option) (http.Header, error)

GetObjectDetailedMeta 查询Object的头信息。

objectKey object名称。 objectPropertyConstraints 对象的属性限制项,满足时正常返回,不满足时返回错误。现在项有IfModifiedSince、IfUnmodifiedSince、 IfMatch、IfNoneMatch。具体含义请参看 https://help.aliyun.com/document_detail/oss/api-reference/object/HeadObject.html

http.Header 对象的meta,error为nil时有效。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) GetObjectMeta Uses

func (bucket Bucket) GetObjectMeta(objectKey string) (http.Header, error)

GetObjectMeta 查询Object的头信息。

GetObjectMeta相比GetObjectDetailedMeta更轻量,仅返回指定Object的少量基本meta信息, 包括该Object的ETag、Size(对象大小)、LastModified,其中Size由响应头Content-Length的数值表示。

objectKey object名称。

http.Header 对象的meta,error为nil时有效。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) GetObjectToFile Uses

func (bucket Bucket) GetObjectToFile(objectKey, filePath string, options ...Option) error

GetObjectToFile 下载文件。

objectKey 下载的文件名称。 filePath 下载对象的内容写到该本地文件。 options 对象的属性限制项。详见GetObject的options。

error 操作无错误时返回error为nil,非nil为错误说明。

func (Bucket) GetObjectToFileWithURL Uses

func (bucket Bucket) GetObjectToFileWithURL(signedURL, filePath string, options ...Option) error

GetObjectToFile 下载文件。

signedURL 签名的URL。 filePath 下载对象的内容写到该本地文件。 options 对象的属性限制项。详见GetObject的options。

error 操作无错误时返回error为nil,非nil为错误说明。

func (Bucket) GetObjectWithURL Uses

func (bucket Bucket) GetObjectWithURL(signedURL string, options ...Option) (io.ReadCloser, error)

GetObjectWithURL 下载文件。

signedURL 签名的URL。 options 对象的属性限制项,可选值有Range、IfModifiedSince、IfUnmodifiedSince、IfMatch、 IfNoneMatch、AcceptEncoding,详细请参考 https://help.aliyun.com/document_detail/oss/api-reference/object/GetObject.html

io.ReadCloser reader,读取数据后需要close。error为nil时有效。 error 操作无错误为nil,非nil为错误信息。

func (bucket Bucket) GetSymlink(objectKey string) (http.Header, error)

GetSymlink 获取符号链接的目标文件。 如果符号链接不存在返回404。

objectKey 获取目标文件的符号链接object。

error 操作无错误为nil,非nil为错误信息。当error为nil时,返回的string为目标文件,否则该值无效。

func (Bucket) InitiateMultipartUpload Uses

func (bucket Bucket) InitiateMultipartUpload(objectKey string, options ...Option) (InitiateMultipartUploadResult, error)

InitiateMultipartUpload 初始化分片上传任务。

objectKey Object名称。 options 上传时可以指定Object的属性,可选属性有CacheControl、ContentDisposition、ContentEncoding、Expires、 ServerSideEncryption、Meta,具体含义请参考 https://help.aliyun.com/document_detail/oss/api-reference/multipart-upload/InitiateMultipartUpload.html

InitiateMultipartUploadResult 初始化后操作成功的返回值,用于后面的UploadPartFromFile、UploadPartCopy等操作。error为nil时有效。 error 操作成功error为nil,非nil为错误信息。

func (Bucket) IsObjectExist Uses

func (bucket Bucket) IsObjectExist(objectKey string) (bool, error)

IsObjectExist object是否存在。

bool object是否存在,true存在,false不存在。error为nil时有效。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) ListMultipartUploads Uses

func (bucket Bucket) ListMultipartUploads(options ...Option) (ListMultipartUploadResult, error)

ListMultipartUploads 列出所有未上传完整的multipart任务列表。

options ListObject的筛选行为。Prefix返回object的前缀,KeyMarker返回object的起始位置,MaxUploads最大数目默认1000, Delimiter用于对Object名字进行分组的字符,所有名字包含指定的前缀且第一次出现delimiter字符之间的object。

ListMultipartUploadResponse 操作成功后的返回值,error为nil时该返回值有效。 error 操作成功error为nil,非nil为错误信息。

func (Bucket) ListObjects Uses

func (bucket Bucket) ListObjects(options ...Option) (ListObjectsResult, error)

ListObjects 获得Bucket下筛选后所有的object的列表。

options ListObject的筛选行为。Prefix指定的前缀、MaxKeys最大数目、Marker第一个开始、Delimiter对Object名字进行分组的字符。

您有如下8个object,my-object-1, my-object-11, my-object-2, my-object-21, my-object-22, my-object-3, my-object-31, my-object-32。如果您指定了Prefix为my-object-2, 则返回my-object-2, my-object-21, my-object-22三个object。如果您指定了Marker为my-object-22, 则返回my-object-3, my-object-31, my-object-32三个object。如果您指定MaxKeys则每次最多返回MaxKeys个, 最后一次可能不足。这三个参数可以组合使用,实现分页等功能。如果把prefix设为某个文件夹名,就可以罗列以此prefix开头的文件, 即该文件夹下递归的所有的文件和子文件夹。如果再把delimiter设置为"/"时,返回值就只罗列该文件夹下的文件,该文件夹下的子文件名 返回在CommonPrefixes部分,子文件夹下递归的文件和文件夹不被显示。例如一个bucket存在三个object,fun/test.jpg、 fun/movie/001.avi、fun/movie/007.avi。若设定prefix为"fun/",则返回三个object;如果增加设定 delimiter为"/",则返回文件"fun/test.jpg"和前缀"fun/movie/",即实现了文件夹的逻辑。

常用场景,请参数示例sample/list_object.go。

ListObjectsResponse 操作成功后的返回值,成员Objects为bucket中对象列表。error为nil时该返回值有效。

func (Bucket) ListUploadedParts Uses

func (bucket Bucket) ListUploadedParts(imur InitiateMultipartUploadResult) (ListUploadedPartsResult, error)

ListUploadedParts 列出指定上传任务已经上传的分片。

imur InitiateMultipartUpload的返回值。

ListUploadedPartsResponse 操作成功后的返回值,成员UploadedParts已经上传/拷贝的片。error为nil时该返回值有效。 error 操作成功error为nil,非nil为错误信息。

func (Bucket) PutObject Uses

func (bucket Bucket) PutObject(objectKey string, reader io.Reader, options ...Option) error

PutObject 新建Object,如果Object已存在,覆盖原有Object。

objectKey 上传对象的名称,使用UTF-8编码、长度必须在1-1023字节之间、不能以“/”或者“\”字符开头。 reader io.Reader读取object的数据。 options 上传对象时可以指定对象的属性,可用选项有CacheControl、ContentDisposition、ContentEncoding、 Expires、ServerSideEncryption、ObjectACL、Meta,具体含义请参看 https://help.aliyun.com/document_detail/oss/api-reference/object/PutObject.html

error 操作无错误为nil,非nil为错误信息。

func (Bucket) PutObjectFromFile Uses

func (bucket Bucket) PutObjectFromFile(objectKey, filePath string, options ...Option) error

PutObjectFromFile 新建Object,内容从本地文件中读取。

objectKey 上传对象的名称。 filePath 本地文件,上传对象的值为该文件内容。 options 上传对象时可以指定对象的属性。详见PutObject的options。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) PutObjectFromFileWithURL Uses

func (bucket Bucket) PutObjectFromFileWithURL(signedURL, filePath string, options ...Option) error

PutObjectFromFileWithURL 新建Object,内容从本地文件中读取。

signedURL 签名的URL。 filePath 本地文件,上传对象的值为该文件内容。 options 上传对象时可以指定对象的属性。详见PutObject的options。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) PutObjectWithURL Uses

func (bucket Bucket) PutObjectWithURL(signedURL string, reader io.Reader, options ...Option) error

PutObjectWithURL 新建Object,如果Object已存在,覆盖原有Object。

signedURL 签名的URL。 reader io.Reader读取object的数据。 options 上传对象时可以指定对象的属性,可用选项有CacheControl、ContentDisposition、ContentEncoding、 Expires、ServerSideEncryption、ObjectACL、Meta,具体含义请参看 https://help.aliyun.com/document_detail/oss/api-reference/object/PutObject.html

error 操作无错误为nil,非nil为错误信息。

func (bucket Bucket) PutSymlink(symObjectKey string, targetObjectKey string, options ...Option) error

PutSymlink 创建符号链接。

符号链接的目标文件类型不能为符号链接。 创建符号链接时: 不检查目标文件是否存在, 不检查目标文件类型是否合法, 不检查目标文件是否有权限访问。 以上检查,都推迟到GetObject等需要访问目标文件的API。 如果试图添加的文件已经存在,并且有访问权限。新添加的文件将覆盖原来的文件。 如果在PutSymlink的时候,携带以x-oss-meta-为前缀的参数,则视为user meta。

symObjectKey 要创建的符号链接文件。 targetObjectKey 目标文件。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) RestoreObject Uses

func (bucket Bucket) RestoreObject(objectKey string) error

RestoreObject 恢复处于冷冻状态的归档类型Object进入读就绪状态。

一个Archive类型的object初始时处于冷冻状态。

针对处于冷冻状态的object调用restore命令,返回成功。object处于解冻中,服务端执行解冻,在此期间再次调用restore命令,同样成功,且不会延长object可读状态持续时间。 待服务端执行完成解冻任务后,object就进入了解冻状态,此时用户可以读取object。 解冻状态默认持续1天,对于解冻状态的object调用restore命令,会将object的解冻状态延长一天,最多可以延长到7天,之后object又回到初始时的冷冻状态。

objectKey 需要恢复状态的object名称。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) SetObjectACL Uses

func (bucket Bucket) SetObjectACL(objectKey string, objectACL ACLType) error

SetObjectACL 修改Object的ACL权限。

只有Bucket Owner才有权限调用PutObjectACL来修改Object的ACL。Object ACL优先级高于Bucket ACL。 例如Bucket ACL是private的,而Object ACL是public-read-write的,则访问这个Object时, 先判断Object的ACL,所以所有用户都拥有这个Object的访问权限,即使这个Bucket是private bucket。 如果某个Object从来没设置过ACL,则访问权限遵循Bucket ACL。

Object的读操作包括GetObject,HeadObject,CopyObject和UploadPartCopy中的对source object的读; Object的写操作包括:PutObject,PostObject,AppendObject,DeleteObject, DeleteMultipleObjects,CompleteMultipartUpload以及CopyObject对新的Object的写。

objectKey 设置权限的object。 objectAcl 对象权限。可选值PrivateACL(私有读写)、PublicReadACL(公共读私有写)、PublicReadWriteACL(公共读写)。

error 操作无错误为nil,非nil为错误信息。

func (Bucket) SetObjectMeta Uses

func (bucket Bucket) SetObjectMeta(objectKey string, options ...Option) error

SetObjectMeta 设置Object的Meta。

objectKey object options 指定对象的属性,有以下可选项CacheControl、ContentDisposition、ContentEncoding、Expires、 ServerSideEncryption、Meta。

error 操作无错误时error为nil,非nil为错误信息。

func (Bucket) SignURL Uses

func (bucket Bucket) SignURL(objectKey string, signURLConfig SignURLConfiguration, options ...Option) (string, error)

SignURL 获取对象的ACL权限。

objectKey 获取URL的object。 signURLConfig 获取URL的配置。

返回URL字符串,error为nil时有效。 error 操作无错误为nil,非nil为错误信息。

func (Bucket) UploadFile Uses

func (bucket Bucket) UploadFile(objectKey, filePath string, partSize int64, options ...Option) error

UploadFile 分片上传文件

objectKey object名称。 filePath 本地文件。需要上传的文件。 partSize 本次上传文件片的大小,字节数。比如100 * 1024为每片100KB。 options 上传Object时可以指定Object的属性。详见InitiateMultipartUpload。

error 操作成功为nil,非nil为错误信息。

func (Bucket) UploadPart Uses

func (bucket Bucket) UploadPart(imur InitiateMultipartUploadResult, reader io.Reader,
    partSize int64, partNumber int, options ...Option) (UploadPart, error)

UploadPart 上传分片。

初始化一个Multipart Upload之后,可以根据指定的Object名和Upload ID来分片(Part)上传数据。 每一个上传的Part都有一个标识它的号码(part number,范围是1~10000)。对于同一个Upload ID, 该号码不但唯一标识这一片数据,也标识了这片数据在整个文件内的相对位置。如果您用同一个part号码,上传了新的数据, 那么OSS上已有的这个号码的Part数据将被覆盖。除了最后一片Part以外,其他的part最小为100KB; 最后一片Part没有大小限制。

imur InitiateMultipartUpload成功后的返回值。 reader io.Reader 需要分片上传的reader。 size 本次上传片Part的大小。 partNumber 本次上传片(Part)的编号,范围是1~10000。如果超出范围,OSS将返回InvalidArgument错误。

UploadPart 上传成功的返回值,两个成员PartNumber、ETag。PartNumber片编号,即传入参数partNumber; ETag及上传数据的MD5。error为nil时有效。 error 操作成功error为nil,非nil为错误信息。

func (Bucket) UploadPartCopy Uses

func (bucket Bucket) UploadPartCopy(imur InitiateMultipartUploadResult, srcBucketName, srcObjectKey string,
    startPosition, partSize int64, partNumber int, options ...Option) (UploadPart, error)

UploadPartCopy 拷贝分片。

imur InitiateMultipartUpload成功后的返回值。 copySrc 源Object名称。 startPosition 本次拷贝片(Part)在源Object的起始位置。 partSize 本次拷贝片的大小。 partNumber 本次拷贝片的编号,范围是1~10000。如果超出范围,OSS将返回InvalidArgument错误。 options copy时源Object的限制条件,满足限制条件时copy,不满足时返回错误。可选条件有CopySourceIfMatch、 CopySourceIfNoneMatch、CopySourceIfModifiedSince CopySourceIfUnmodifiedSince,具体含义请参看 https://help.aliyun.com/document_detail/oss/api-reference/multipart-upload/UploadPartCopy.html

UploadPart 上传成功的返回值,两个成员PartNumber、ETag。PartNumber片(Part)编号,即传入参数partNumber; ETag及上传数据的MD5。error为nil时有效。 error 操作成功error为nil,非nil为错误信息。

func (Bucket) UploadPartFromFile Uses

func (bucket Bucket) UploadPartFromFile(imur InitiateMultipartUploadResult, filePath string,
    startPosition, partSize int64, partNumber int, options ...Option) (UploadPart, error)

UploadPartFromFile 上传分片。

imur InitiateMultipartUpload成功后的返回值。 filePath 需要分片上传的本地文件。 startPosition 本次上传文件片的起始位置。 partSize 本次上传文件片的大小。 partNumber 本次上传文件片的编号,范围是1~10000。

UploadPart 上传成功的返回值,两个成员PartNumber、ETag。PartNumber片编号,传入参数partNumber; ETag上传数据的MD5。error为nil时有效。 error 操作成功error为nil,非nil为错误信息。

type BucketInfo Uses

type BucketInfo struct {
    XMLName          xml.Name  `xml:"Bucket"`
    Name             string    `xml:"Name"`                    // Bucket名称
    Location         string    `xml:"Location"`                // Bucket所在的数据中心
    CreationDate     time.Time `xml:"CreationDate"`            // Bucket创建时间
    ExtranetEndpoint string    `xml:"ExtranetEndpoint"`        // Bucket访问的外网域名
    IntranetEndpoint string    `xml:"IntranetEndpoint"`        // Bucket访问的内网域名
    ACL              string    `xml:"AccessControlList>Grant"` // Bucket权限
    Owner            Owner     `xml:"Owner"`                   // Bucket拥有者信息
    StorageClass     string    `xml:"StorageClass"`            // Bucket存储类型
}

BucketInfo Bucket信息

type BucketProperties Uses

type BucketProperties struct {
    XMLName      xml.Name  `xml:"Bucket"`
    Name         string    `xml:"Name"`         // Bucket名称
    Location     string    `xml:"Location"`     // Bucket所在的数据中心
    CreationDate time.Time `xml:"CreationDate"` // Bucket创建时间
    StorageClass string    `xml:"StorageClass"` // Bucket的存储方式
}

BucketProperties Bucket信息

type CORSRule Uses

type CORSRule struct {
    XMLName       xml.Name `xml:"CORSRule"`
    AllowedOrigin []string `xml:"AllowedOrigin"` // 允许的来源,默认通配符"*"
    AllowedMethod []string `xml:"AllowedMethod"` // 允许的方法
    AllowedHeader []string `xml:"AllowedHeader"` // 允许的请求头
    ExposeHeader  []string `xml:"ExposeHeader"`  // 允许的响应头
    MaxAgeSeconds int      `xml:"MaxAgeSeconds"` // 最大的缓存时间
}

CORSRule CORS规则

type CORSXML Uses

type CORSXML struct {
    XMLName   xml.Name   `xml:"CORSConfiguration"`
    CORSRules []CORSRule `xml:"CORSRule"` // CORS规则列表
}

CORSXML CORS配置

type CRCCheckError Uses

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

CRCCheckError is returned when crc check is inconsistent between client and server

func (CRCCheckError) Error Uses

func (e CRCCheckError) Error() string

Implement interface error

type Client Uses

type Client struct {
    Config *Config // Oss Client configure
    Conn   *Conn   // Send http request
}

Client oss client

func New Uses

func New(endpoint, accessKeyID, accessKeySecret string, options ...ClientOption) (*Client, error)

New 生成一个新的Client。

endpoint 用户Bucket所在数据中心的访问域名,如http://oss-cn-hangzhou.aliyuncs.com。 accessKeyId 用户标识。 accessKeySecret 用户密钥。

Client 生成的新Client。error为nil时有效。 error 操作无错误时为nil,非nil时表示操作出错。

func (Client) Bucket Uses

func (client Client) Bucket(bucketName string) (*Bucket, error)

Bucket 取存储空间(Bucket)的对象实例。

bucketName 存储空间名称。 Bucket 新的Bucket。error为nil时有效。

error 操作无错误时返回nil,非nil为错误信息。

func (Client) CreateBucket Uses

func (client Client) CreateBucket(bucketName string, options ...Option) error

CreateBucket 创建Bucket。

bucketName bucket名称,在整个OSS中具有全局唯一性,且不能修改。bucket名称的只能包括小写字母,数字和短横线-, 必须以小写字母或者数字开头,长度必须在3-255字节之间。 options 创建bucket的选项。您可以使用选项ACL,指定bucket的访问权限。Bucket有以下三种访问权限,私有读写(ACLPrivate)、 公共读私有写(ACLPublicRead),公共读公共写(ACLPublicReadWrite),默认访问权限是私有读写。可以使用StorageClass选项设置bucket的存储方式。

error 操作无错误时返回nil,非nil为错误信息。

func (Client) DeleteBucket Uses

func (client Client) DeleteBucket(bucketName string) error

DeleteBucket 删除空存储空间。非空时请先清理Object、Upload。

bucketName 存储空间名称。

error 操作无错误时返回nil,非nil为错误信息。

func (Client) DeleteBucketCORS Uses

func (client Client) DeleteBucketCORS(bucketName string) error

DeleteBucketCORS 删除Bucket的Website设置。

bucketName 需要删除cors设置的Bucket。

error 操作无错误为nil,非nil为错误信息。

func (Client) DeleteBucketLifecycle Uses

func (client Client) DeleteBucketLifecycle(bucketName string) error

DeleteBucketLifecycle 删除Bucket的生命周期设置。

bucketName 存储空间名称。

error 操作无错误为nil,非nil为错误信息。

func (Client) DeleteBucketLogging Uses

func (client Client) DeleteBucketLogging(bucketName string) error

DeleteBucketLogging 删除Bucket的日志设置。

bucketName 需要删除访问日志的Bucket。

error 操作无错误为nil,非nil为错误信息。

func (Client) DeleteBucketWebsite Uses

func (client Client) DeleteBucketWebsite(bucketName string) error

DeleteBucketWebsite 删除Bucket的Website设置。

bucketName 需要删除website设置的Bucket。

error 操作无错误为nil,非nil为错误信息。

func (Client) GetBucketACL Uses

func (client Client) GetBucketACL(bucketName string) (GetBucketACLResult, error)

GetBucketACL 获得Bucket的访问权限。

bucketName 存储空间名称。

GetBucketAclResponse 操作成功后的返回值,error为nil时该返回值有效。 error 操作无错误时返回nil,非nil为错误信息。

func (Client) GetBucketCORS Uses

func (client Client) GetBucketCORS(bucketName string) (GetBucketCORSResult, error)

GetBucketCORS 获得Bucket的CORS设置。

bucketName 存储空间名称。 GetBucketCORSResult 操作成功的返回值,error为nil时该返回值有效。

error 操作无错误为nil,非nil为错误信息。

func (Client) GetBucketInfo Uses

func (client Client) GetBucketInfo(bucketName string) (GetBucketInfoResult, error)

GetBucketInfo 获得Bucket的信息。

bucketName 存储空间名称。 GetBucketInfoResult 操作成功的返回值,error为nil时该返回值有效。

error 操作无错误为nil,非nil为错误信息。

func (Client) GetBucketLifecycle Uses

func (client Client) GetBucketLifecycle(bucketName string) (GetBucketLifecycleResult, error)

GetBucketLifecycle 查看Bucket的生命周期设置。

bucketName 存储空间名称。

GetBucketLifecycleResponse 操作成功的返回值,error为nil时该返回值有效。Rules为该bucket上的规则列表。 error 操作无错误时为nil,非nil为错误信息。

func (Client) GetBucketLocation Uses

func (client Client) GetBucketLocation(bucketName string) (string, error)

GetBucketLocation 查看Bucket所属数据中心位置的信息。

如果您想了解"访问域名和数据中心"详细信息,请参看 https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html

bucketName 存储空间名称。

string Bucket所属的数据中心位置信息。 error 操作无错误时返回nil,非nil为错误信息。

func (Client) GetBucketLogging Uses

func (client Client) GetBucketLogging(bucketName string) (GetBucketLoggingResult, error)

GetBucketLogging 获得Bucket的日志设置。

bucketName 需要删除访问日志的Bucket。 GetBucketLoggingResponse 操作成功的返回值,error为nil时该返回值有效。

error 操作无错误为nil,非nil为错误信息。

func (Client) GetBucketReferer Uses

func (client Client) GetBucketReferer(bucketName string) (GetBucketRefererResult, error)

GetBucketReferer 获得Bucket的白名单地址。

bucketName 存储空间名称。

GetBucketRefererResponse 操作成功的返回值,error为nil时该返回值有效。 error 操作无错误时为nil,非nil为错误信息。

func (Client) GetBucketWebsite Uses

func (client Client) GetBucketWebsite(bucketName string) (GetBucketWebsiteResult, error)

GetBucketWebsite 获得Bucket的默认首页以及错误页。

bucketName 存储空间名称。

GetBucketWebsiteResponse 操作成功的返回值,error为nil时该返回值有效。 error 操作无错误为nil,非nil为错误信息。

func (Client) IsBucketExist Uses

func (client Client) IsBucketExist(bucketName string) (bool, error)

IsBucketExist Bucket是否存在。

bucketName 存储空间名称。

bool 存储空间是否存在。error为nil时有效。 error 操作无错误时返回nil,非nil为错误信息。

func (Client) ListBuckets Uses

func (client Client) ListBuckets(options ...Option) (ListBucketsResult, error)

ListBuckets 获取当前用户下的bucket。

options 指定ListBuckets的筛选行为,Prefix、Marker、MaxKeys三个选项。Prefix限定前缀。 Marker设定从Marker之后的第一个开始返回。MaxKeys限定此次返回的最大数目,默认为100。 常用使用场景的实现,参数示例程序list_bucket.go。 ListBucketsResponse 操作成功后的返回值,error为nil时该返回值有效。

error 操作无错误时返回nil,非nil为错误信息。

func (Client) SetBucketACL Uses

func (client Client) SetBucketACL(bucketName string, bucketACL ACLType) error

SetBucketACL 修改Bucket的访问权限。

bucketName 存储空间名称。 bucketAcl bucket的访问权限。Bucket有以下三种访问权限,Bucket有以下三种访问权限,私有读写(ACLPrivate)、 公共读私有写(ACLPublicRead),公共读公共写(ACLPublicReadWrite)。

error 操作无错误时返回nil,非nil为错误信息。

func (Client) SetBucketCORS Uses

func (client Client) SetBucketCORS(bucketName string, corsRules []CORSRule) error

SetBucketCORS 设置Bucket的跨域访问(CORS)规则。

跨域访问的更多信息,请参看 https://help.aliyun.com/document_detail/oss/user_guide/security_management/cors.html

bucketName 需要设置Website的Bucket。 corsRules 待设置的CORS规则。用法请参看示例代码sample/bucket_cors.go。

error 操作无错误为nil,非nil为错误信息。

func (Client) SetBucketLifecycle Uses

func (client Client) SetBucketLifecycle(bucketName string, rules []LifecycleRule) error

SetBucketLifecycle 修改Bucket的生命周期设置。

OSS提供Object生命周期管理来为用户管理对象。用户可以为某个Bucket定义生命周期配置,来为该Bucket的Object定义各种规则。 Bucket的拥有者可以通过SetBucketLifecycle来设置Bucket的Lifecycle配置。Lifecycle开启后,OSS将按照配置, 定期自动删除与Lifecycle规则相匹配的Object。如果您想了解更多的生命周期的信息,请参看 https://help.aliyun.com/document_detail/oss/user_guide/manage_object/object_lifecycle.html

bucketName 存储空间名称。 rules 生命周期规则列表。生命周期规则有两种格式,指定绝对和相对过期时间,分布由days和year/month/day控制。 具体用法请参考示例程序sample/bucket_lifecycle.go。

error 操作无错误时返回error为nil,非nil为错误信息。

func (Client) SetBucketLogging Uses

func (client Client) SetBucketLogging(bucketName, targetBucket, targetPrefix string,
    isEnable bool) error

SetBucketLogging 修改Bucket的日志设置。

OSS为您提供自动保存访问日志记录功能。Bucket的拥有者可以开启访问日志记录功能。当一个bucket开启访问日志记录功能后, OSS自动将访问这个bucket的请求日志,以小时为单位,按照固定的命名规则,生成一个Object写入用户指定的bucket中。 如果您需要更多,请参看 https://help.aliyun.com/document_detail/oss/user_guide/security_management/logging.html

bucketName 需要记录访问日志的Bucket。 targetBucket 访问日志记录到的Bucket。 targetPrefix bucketName中需要存储访问日志记录的object前缀。为空记录所有object的访问日志。

error 操作无错误为nil,非nil为错误信息。

func (Client) SetBucketReferer Uses

func (client Client) SetBucketReferer(bucketName string, referers []string, allowEmptyReferer bool) error

SetBucketReferer 设置bucket的referer访问白名单和是否允许referer字段为空的请求访问。

防止用户在OSS上的数据被其他人盗用,OSS支持基于HTTP header中表头字段referer的防盗链方法。可以通过OSS控制台或者API的方式对 一个bucket设置referer字段的白名单和是否允许referer字段为空的请求访问。例如,对于一个名为oss-example的bucket, 设置其referer白名单为http://www.aliyun.com。则所有referer为http://www.aliyun.com的请求才能访问oss-example 这个bucket中的object。如果您还需要了解更多信息,请参看 https://help.aliyun.com/document_detail/oss/user_guide/security_management/referer.html

bucketName 存储空间名称。 referers 访问白名单列表。一个bucket可以支持多个referer参数。referer参数支持通配符"*"和"?"。 用法请参看示例sample/bucket_referer.go allowEmptyReferer 指定是否允许referer字段为空的请求访问。 默认为true。

error 操作无错误为nil,非nil为错误信息。

func (Client) SetBucketWebsite Uses

func (client Client) SetBucketWebsite(bucketName, indexDocument, errorDocument string) error

SetBucketWebsite 设置/修改Bucket的默认首页以及错误页。

OSS支持静态网站托管,Website操作可以将一个bucket设置成静态网站托管模式 。您可以将自己的Bucket配置成静态网站托管模式。 如果您需要更多,请参看 https://help.aliyun.com/document_detail/oss/user_guide/static_host_website.html

bucketName 需要设置Website的Bucket。 indexDocument 索引文档。 errorDocument 错误文档。

error 操作无错误为nil,非nil为错误信息。

func (Client) UDF Uses

func (client Client) UDF() (*UDF, error)

UDF 取存储空间(UDF)的对象实例。

error 操作无错误时返回nil,非nil为错误信息。

type ClientOption Uses

type ClientOption func(*Client)

ClientOption client option such as UseCname, Timeout, SecurityToken.

func AuthProxy Uses

func AuthProxy(proxyHost, proxyUser, proxyPassword string) ClientOption

AuthProxy 设置需要认证的代理服务器,默认不使用代理。

proxyHost 代理服务器地址,格式是host或host:port proxyUser 代理服务器认证的用户名 proxyPassword 代理服务器认证的用户密码

func EnableCRC Uses

func EnableCRC(isEnableCRC bool) ClientOption

EnableCRC 上传是否启用CRC校验,默认启用。

isEnableCRC true启用CRC校验,false不启用CRC校验

func EnableMD5 Uses

func EnableMD5(isEnableMD5 bool) ClientOption

EnableMD5 是否启用MD5校验,默认启用。

isEnableMD5 true启用MD5校验,false不启用MD5校验

func MD5ThresholdCalcInMemory Uses

func MD5ThresholdCalcInMemory(threshold int64) ClientOption

MD5ThresholdCalcInMemory 使用内存计算MD5值的上限,默认16MB。

threshold 单位Byte。上传内容小于threshold在MD5在内存中计算,大于使用临时文件计算MD5

func Proxy Uses

func Proxy(proxyHost string) ClientOption

Proxy 设置代理服务器,默认不使用代理。

proxyHost 代理服务器地址,格式是host或host:port

func SecurityToken Uses

func SecurityToken(token string) ClientOption

SecurityToken 临时用户设置SecurityToken。

token STS token

func Timeout Uses

func Timeout(connectTimeoutSec, readWriteTimeout int64) ClientOption

Timeout 设置HTTP超时时间。

connectTimeoutSec HTTP链接超时时间,单位是秒,默认10秒。0表示永不超时。 readWriteTimeout HTTP发送接受数据超时时间,单位是秒,默认20秒。0表示永不超时。

func UseCname Uses

func UseCname(isUseCname bool) ClientOption

UseCname 设置是否使用CNAME,默认不使用。

isUseCname true设置endpoint格式是cname格式,false为非cname格式,默认false

func UserAgent Uses

func UserAgent(userAgent string) ClientOption

UserAgent 指定UserAgent,默认如下aliyun-sdk-go/1.2.0 (windows/-/amd64;go1.5.2)。

userAgent user agent字符串。

type CompleteMultipartUploadResult Uses

type CompleteMultipartUploadResult struct {
    XMLName  xml.Name `xml:"CompleteMultipartUploadResult"`
    Location string   `xml:"Location"` // Object的URL
    Bucket   string   `xml:"Bucket"`   // Bucket名称
    ETag     string   `xml:"ETag"`     // Object的ETag
    Key      string   `xml:"Key"`      // Object的名字
}

CompleteMultipartUploadResult 提交分片上传任务返回结果

type Config Uses

type Config struct {
    Endpoint        string      // oss地址
    AccessKeyID     string      // accessId
    AccessKeySecret string      // accessKey
    RetryTimes      uint        // 失败重试次数,默认5
    UserAgent       string      // SDK名称/版本/系统信息
    IsDebug         bool        // 是否开启调试模式,默认false
    Timeout         uint        // 超时时间,默认60s
    SecurityToken   string      // STS Token
    IsCname         bool        // Endpoint是否是CNAME
    HTTPTimeout     HTTPTimeout // HTTP的超时时间设置
    IsUseProxy      bool        // 是否使用代理
    ProxyHost       string      // 代理服务器地址
    IsAuthProxy     bool        // 代理服务器是否使用用户认证
    ProxyUser       string      // 代理服务器认证用户名
    ProxyPassword   string      // 代理服务器认证密码
    IsEnableMD5     bool        // 上传数据时是否启用MD5校验
    MD5Threshold    int64       // 内存中计算MD5的上线大小,大于该值启用临时文件,单位Byte
    IsEnableCRC     bool        // 上传数据时是否启用CRC64校验
}

Config oss configure

type Conn Uses

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

Conn oss conn

func (Conn) Do Uses

func (conn Conn) Do(method, bucketName, objectName string, params map[string]interface{}, headers map[string]string,
    data io.Reader, initCRC uint64, listener ProgressListener) (*Response, error)

Do 处理请求,返回响应结果。

func (Conn) DoURL Uses

func (conn Conn) DoURL(method HTTPMethod, signedURL string, headers map[string]string,
    data io.Reader, initCRC uint64, listener ProgressListener) (*Response, error)

type CopyObjectResult Uses

type CopyObjectResult struct {
    XMLName      xml.Name  `xml:"CopyObjectResult"`
    LastModified time.Time `xml:"LastModified"` // 新Object最后更新时间
    ETag         string    `xml:"ETag"`         // 新Object的ETag值
}

CopyObjectResult CopyObject请求返回的结果

type DeleteObject Uses

type DeleteObject struct {
    XMLName xml.Name `xml:"Object"`
    Key     string   `xml:"Key"` // Object名称
}

DeleteObject 删除的Object

type DeleteObjectsResult Uses

type DeleteObjectsResult struct {
    XMLName        xml.Name `xml:"DeleteResult"`
    DeletedObjects []string `xml:"Deleted>Key"` // 删除的Object列表
}

DeleteObjectsResult DeleteObjects请求返回结果

type ErrorDocument Uses

type ErrorDocument struct {
    XMLName xml.Name `xml:"ErrorDocument"`
    Key     string   `xml:"Key"` // 404错误时使用的文件名
}

ErrorDocument 404错误时使用的文件

type FileChunk Uses

type FileChunk struct {
    Number int   // 块序号
    Offset int64 // 块在文件中的偏移量
    Size   int64 // 块大小
}

FileChunk 文件片定义

type GetBucketACLResult Uses

type GetBucketACLResult struct {
    XMLName xml.Name `xml:"AccessControlPolicy"`
    ACL     string   `xml:"AccessControlList>Grant"` // Bucket权限
    Owner   Owner    `xml:"Owner"`                   // Bucket拥有者信息
}

GetBucketACLResult GetBucketACL请求返回的结果

type GetBucketCORSResult Uses

type GetBucketCORSResult CORSXML

GetBucketCORSResult GetBucketCORS请求返回的结果

type GetBucketInfoResult Uses

type GetBucketInfoResult struct {
    XMLName    xml.Name   `xml:"BucketInfo"`
    BucketInfo BucketInfo `xml:"Bucket"`
}

GetBucketInfoResult GetBucketInfo请求返回结果

type GetBucketLifecycleResult Uses

type GetBucketLifecycleResult LifecycleConfiguration

GetBucketLifecycleResult GetBucketLifecycle请求请求结果

type GetBucketLoggingResult Uses

type GetBucketLoggingResult LoggingXML

GetBucketLoggingResult GetBucketLogging请求返回结果

type GetBucketRefererResult Uses

type GetBucketRefererResult RefererXML

GetBucketRefererResult GetBucketReferer请教返回结果

type GetBucketWebsiteResult Uses

type GetBucketWebsiteResult WebsiteXML

GetBucketWebsiteResult GetBucketWebsite请求返回结果

type GetObjectACLResult Uses

type GetObjectACLResult GetBucketACLResult

GetObjectACLResult GetObjectACL请求返回的结果

type GetObjectRequest Uses

type GetObjectRequest struct {
    ObjectKey string
}

GetObjectRequest The request of DoGetObject

type GetObjectResult Uses

type GetObjectResult struct {
    Response  *Response
    ClientCRC hash.Hash64
    ServerCRC uint64
}

GetObjectResult The result of DoGetObject

type GetUDFApplicationInfoResult Uses

type GetUDFApplicationInfoResult struct {
    XMLName            xml.Name     `xml:"UDFApplicationInfo"`
    UDFID              string       `xml:"ID"`
    UDFName            string       `xml:"Name"`
    Region             string       `xml:"Region"`
    ImageVersion       int64        `xml:"ImageVersion"`
    InstanceNum        int64        `xml:"InstanceNum"`
    Status             string       `xml:"Status"`
    TargetImageVersion int64        `xml:"TargetImageVersion,omitempty"`
    TargetInstanceNum  int64        `xml:"TargetInstanceNum,omitempty"`
    CreationDate       time.Time    `xml:"CreationDate"`
    Flavor             UDFAppFlavor `xml:"Flavor"`
}

GetUDFApplicationInfoResult GetUDFApplicationInfo请求返回的结果

type GetUDFImageInfoResult Uses

type GetUDFImageInfoResult struct {
    XMLName   xml.Name       `xml:"UDFImageInfo"`
    UDFImages []UDFImageInfo `xml:"Item"`
}

GetUDFImageInfoResult GetUDFImageInfo请求返回的结果

type GetUDFResult Uses

type GetUDFResult struct {
    XMLName        xml.Name  `xml:"UDFInfo"`
    UDFName        string    `xml:"Name"`
    OwnerID        string    `xml:"Owner"` //UDF拥有者的用户ID
    UDFID          string    `xml:"ID"`
    UDFDescription string    `xml:"Description,omitempty"`
    ACL            string    `xml:"ACL"` //UDF权限
    CreationDate   time.Time `xml:"CreationDate"`
}

GetUDFResult GetUDF请求返回的结果

type HTTPMethod Uses

type HTTPMethod string
const (
    HTTPGet    HTTPMethod = "GET"
    HTTPPut    HTTPMethod = "PUT"
    HTTPHead   HTTPMethod = "HEAD"
    HTTPPost   HTTPMethod = "POST"
    HTTPDelete HTTPMethod = "DELETE"
)

type HTTPTimeout Uses

type HTTPTimeout struct {
    ConnectTimeout   time.Duration
    ReadWriteTimeout time.Duration
    HeaderTimeout    time.Duration
    LongTimeout      time.Duration
}

HTTPTimeout http timeout

type IndexDocument Uses

type IndexDocument struct {
    XMLName xml.Name `xml:"IndexDocument"`
    Suffix  string   `xml:"Suffix"` // 目录URL时添加的索引文件名
}

IndexDocument 目录URL时添加的索引文件

type InitiateMultipartUploadResult Uses

type InitiateMultipartUploadResult struct {
    XMLName  xml.Name `xml:"InitiateMultipartUploadResult"`
    Bucket   string   `xml:"Bucket"`   // Bucket名称
    Key      string   `xml:"Key"`      // 上传Object名称
    UploadID string   `xml:"UploadId"` // 生成的UploadId
}

InitiateMultipartUploadResult InitiateMultipartUpload请求返回结果

type LifecycleConfiguration Uses

type LifecycleConfiguration struct {
    XMLName xml.Name        `xml:"LifecycleConfiguration"`
    Rules   []LifecycleRule `xml:"Rule"`
}

LifecycleConfiguration Bucket的Lifecycle配置

type LifecycleExpiration Uses

type LifecycleExpiration struct {
    XMLName xml.Name  `xml:"Expiration"`
    Days    int       `xml:"Days,omitempty"` // 最后修改时间过后多少天生效
    Date    time.Time `xml:"Date,omitempty"` // 指定规则何时生效
}

LifecycleExpiration 规则的过期属性

type LifecycleRule Uses

type LifecycleRule struct {
    XMLName    xml.Name            `xml:"Rule"`
    ID         string              `xml:"ID"`         // 规则唯一的ID
    Prefix     string              `xml:"Prefix"`     // 规则所适用Object的前缀
    Status     string              `xml:"Status"`     // 规则是否生效
    Expiration LifecycleExpiration `xml:"Expiration"` // 规则的过期属性
}

LifecycleRule Lifecycle规则

func BuildLifecycleRuleByDate Uses

func BuildLifecycleRuleByDate(id, prefix string, status bool, year, month, day int) LifecycleRule

BuildLifecycleRuleByDate 指定过期时间构建Lifecycle规则

func BuildLifecycleRuleByDays Uses

func BuildLifecycleRuleByDays(id, prefix string, status bool, days int) LifecycleRule

BuildLifecycleRuleByDays 指定过期天数构建Lifecycle规则

type ListBucketsResult Uses

type ListBucketsResult struct {
    XMLName     xml.Name           `xml:"ListAllMyBucketsResult"`
    Prefix      string             `xml:"Prefix"`         // 本次查询结果的前缀
    Marker      string             `xml:"Marker"`         // 标明查询的起点,未全部返回时有此节点
    MaxKeys     int                `xml:"MaxKeys"`        // 返回结果的最大数目,未全部返回时有此节点
    IsTruncated bool               `xml:"IsTruncated"`    // 所有的结果是否已经全部返回
    NextMarker  string             `xml:"NextMarker"`     // 表示下一次查询的起点
    Owner       Owner              `xml:"Owner"`          // 拥有者信息
    Buckets     []BucketProperties `xml:"Buckets>Bucket"` // Bucket列表
}

ListBucketsResult ListBuckets请求返回的结果

type ListMultipartUploadResult Uses

type ListMultipartUploadResult struct {
    XMLName            xml.Name            `xml:"ListMultipartUploadsResult"`
    Bucket             string              `xml:"Bucket"`                // Bucket名称
    Delimiter          string              `xml:"Delimiter"`             // 分组分割符
    Prefix             string              `xml:"Prefix"`                // 筛选前缀
    KeyMarker          string              `xml:"KeyMarker"`             // 起始Object位置
    UploadIDMarker     string              `xml:"UploadIdMarker"`        // 起始UploadId位置
    NextKeyMarker      string              `xml:"NextKeyMarker"`         // 如果没有全部返回,标明接下去的KeyMarker位置
    NextUploadIDMarker string              `xml:"NextUploadIdMarker"`    // 如果没有全部返回,标明接下去的UploadId位置
    MaxUploads         int                 `xml:"MaxUploads"`            // 返回最大Upload数目
    IsTruncated        bool                `xml:"IsTruncated"`           // 是否完全返回
    Uploads            []UncompletedUpload `xml:"Upload"`                // 未完成上传的MultipartUpload
    CommonPrefixes     []string            `xml:"CommonPrefixes>Prefix"` // 所有名字包含指定的前缀且第一次出现delimiter字符之间的object作为一组的分组结果
}

ListMultipartUploadResult ListMultipartUpload请求返回结果

type ListObjectsResult Uses

type ListObjectsResult struct {
    XMLName        xml.Name           `xml:"ListBucketResult"`
    Prefix         string             `xml:"Prefix"`                // 本次查询结果的开始前缀
    Marker         string             `xml:"Marker"`                // 这次查询的起点
    MaxKeys        int                `xml:"MaxKeys"`               // 请求返回结果的最大数目
    Delimiter      string             `xml:"Delimiter"`             // 对Object名字进行分组的字符
    IsTruncated    bool               `xml:"IsTruncated"`           // 是否所有的结果都已经返回
    NextMarker     string             `xml:"NextMarker"`            // 下一次查询的起点
    Objects        []ObjectProperties `xml:"Contents"`              // Object类别
    CommonPrefixes []string           `xml:"CommonPrefixes>Prefix"` // 以delimiter结尾并有共同前缀的Object的集合
}

ListObjectsResult ListObjects请求返回结果

type ListUDFApplicationsResult Uses

type ListUDFApplicationsResult struct {
    XMLName         xml.Name                      `xml:"ListUDFApplicationResult"`
    UDFApplications []GetUDFApplicationInfoResult `xml:"UDFApplicationInfo"`
}

ListUDFApplicationsResult ListUDFApplications请求返回的结果

type ListUDFsResult Uses

type ListUDFsResult struct {
    XMLName xml.Name       `xml:"ListUDFResult"`
    UDFs    []GetUDFResult `xml:"UDFInfo"`
}

ListUDFsResult ListUDFs请求返回的结果

type ListUploadedPartsResult Uses

type ListUploadedPartsResult struct {
    XMLName              xml.Name       `xml:"ListPartsResult"`
    Bucket               string         `xml:"Bucket"`               // Bucket名称
    Key                  string         `xml:"Key"`                  // Object名称
    UploadID             string         `xml:"UploadId"`             // 上传Id
    NextPartNumberMarker string         `xml:"NextPartNumberMarker"` // 下一个Part的位置
    MaxParts             int            `xml:"MaxParts"`             // 最大Part个数
    IsTruncated          bool           `xml:"IsTruncated"`          // 是否完全上传完成
    UploadedParts        []UploadedPart `xml:"Part"`                 // 已完成的Part
}

ListUploadedPartsResult ListUploadedParts请求返回结果

type LoggingEnabled Uses

type LoggingEnabled struct {
    XMLName      xml.Name `xml:"LoggingEnabled"`
    TargetBucket string   `xml:"TargetBucket"` //存放访问日志的Bucket
    TargetPrefix string   `xml:"TargetPrefix"` //保存访问日志的文件前缀
}

LoggingEnabled 访问日志信息容器

type LoggingXML Uses

type LoggingXML struct {
    XMLName        xml.Name       `xml:"BucketLoggingStatus"`
    LoggingEnabled LoggingEnabled `xml:"LoggingEnabled"` // 访问日志信息容器
}

LoggingXML Logging配置

type MetadataDirectiveType Uses

type MetadataDirectiveType string

MetadataDirectiveType 对象COPY时新对象是否使用原对象的Meta

const (
    // MetaCopy 目标对象使用源对象的META
    MetaCopy MetadataDirectiveType = "COPY"

    // MetaReplace 目标对象使用自定义的META
    MetaReplace MetadataDirectiveType = "REPLACE"
)

type ObjectProperties Uses

type ObjectProperties struct {
    XMLName      xml.Name  `xml:"Contents"`
    Key          string    `xml:"Key"`          // Object的Key
    Type         string    `xml:"Type"`         // Object Type
    Size         int64     `xml:"Size"`         // Object的长度字节数
    ETag         string    `xml:"ETag"`         // 标示Object的内容
    Owner        Owner     `xml:"Owner"`        // 保存Object拥有者信息的容器
    LastModified time.Time `xml:"LastModified"` // Object最后修改时间
    StorageClass string    `xml:"StorageClass"` // Object的存储类型
}

ObjectProperties Objecct属性

type Option Uses

type Option func(map[string]optionValue) error

Option http option

func ACL Uses

func ACL(acl ACLType) Option

ACL is an option to set X-Oss-Acl header

func AcceptEncoding Uses

func AcceptEncoding(value string) Option

AcceptEncoding is an option to set Accept-Encoding header

func CacheControl Uses

func CacheControl(value string) Option

CacheControl is an option to set Cache-Control header

func Checkpoint Uses

func Checkpoint(isEnable bool, filePath string) Option

Checkpoint DownloadFile/UploadFile是否开启checkpoint及checkpoint文件路径

func ContentDisposition Uses

func ContentDisposition(value string) Option

ContentDisposition is an option to set Content-Disposition header

func ContentEncoding Uses

func ContentEncoding(value string) Option

ContentEncoding is an option to set Content-Encoding header

func ContentLength Uses

func ContentLength(length int64) Option

ContentLength is an option to set Content-Length header

func ContentMD5 Uses

func ContentMD5(value string) Option

ContentMD5 is an option to set Content-MD5 header

func ContentType Uses

func ContentType(value string) Option

ContentType is an option to set Content-Type header

func CopySource Uses

func CopySource(sourceBucket, sourceObject string) Option

CopySource is an option to set X-Oss-Copy-Source header

func CopySourceIfMatch Uses

func CopySourceIfMatch(value string) Option

CopySourceIfMatch is an option to set X-Oss-Copy-Source-If-Match header

func CopySourceIfModifiedSince Uses

func CopySourceIfModifiedSince(t time.Time) Option

CopySourceIfModifiedSince is an option to set X-Oss-CopySource-If-Modified-Since header

func CopySourceIfNoneMatch Uses

func CopySourceIfNoneMatch(value string) Option

CopySourceIfNoneMatch is an option to set X-Oss-Copy-Source-If-None-Match header

func CopySourceIfUnmodifiedSince Uses

func CopySourceIfUnmodifiedSince(t time.Time) Option

CopySourceIfUnmodifiedSince is an option to set X-Oss-Copy-Source-If-Unmodified-Since header

func CopySourceRange Uses

func CopySourceRange(startPosition, partSize int64) Option

CopySourceRange is an option to set X-Oss-Copy-Source header

func DeleteObjectsQuiet Uses

func DeleteObjectsQuiet(isQuiet bool) Option

DeleteObjectsQuiet DeleteObjects详细(verbose)模式或简单(quiet)模式,默认详细模式。

func Delimiter Uses

func Delimiter(value string) Option

Delimiter is an option to set delimiler parameter

func EncodingType Uses

func EncodingType(value string) Option

EncodingType is an option to set encoding-type parameter

func Expires Uses

func Expires(t time.Time) Option

Expires is an option to set Expires header

func IfMatch Uses

func IfMatch(value string) Option

IfMatch is an option to set If-Match header

func IfModifiedSince Uses

func IfModifiedSince(t time.Time) Option

IfModifiedSince is an option to set If-Modified-Since header

func IfNoneMatch Uses

func IfNoneMatch(value string) Option

IfNoneMatch is an option to set IfNoneMatch header

func IfUnmodifiedSince Uses

func IfUnmodifiedSince(t time.Time) Option

IfUnmodifiedSince is an option to set If-Unmodified-Since header

func InitCRC Uses

func InitCRC(initCRC uint64) Option

InitCRC AppendObject CRC的校验的初始值

func KeyMarker Uses

func KeyMarker(value string) Option

KeyMarker is an option to set key-marker parameter

func Marker Uses

func Marker(value string) Option

Marker is an option to set marker parameter

func MaxKeys Uses

func MaxKeys(value int) Option

MaxKeys is an option to set maxkeys parameter

func MaxUploads Uses

func MaxUploads(value int) Option

MaxUploads is an option to set max-uploads parameter

func Meta Uses

func Meta(key, value string) Option

Meta is an option to set Meta header

func MetadataDirective Uses

func MetadataDirective(directive MetadataDirectiveType) Option

MetadataDirective is an option to set X-Oss-Metadata-Directive header

func NormalizedRange Uses

func NormalizedRange(nr string) Option

NormalizedRange is an option to set Range header, such as 1024-2048 or 1024- or -2048

func ObjectACL Uses

func ObjectACL(acl ACLType) Option

ObjectACL is an option to set X-Oss-Object-Acl header

func Origin Uses

func Origin(value string) Option

Origin is an option to set Origin header

func Prefix Uses

func Prefix(value string) Option

Prefix is an option to set prefix parameter

func Process Uses

func Process(value string) Option

Process is an option to set X-Oss-Process param

func Progress Uses

func Progress(listener ProgressListener) Option

Progress set progress listener

func Range Uses

func Range(start, end int64) Option

Range is an option to set Range header, [start, end]

func ResponseCacheControl Uses

func ResponseCacheControl(value string) Option

ResponseCacheControl is an option to set response-cache-control param

func ResponseContentDisposition Uses

func ResponseContentDisposition(value string) Option

ResponseContentDisposition is an option to set response-content-disposition param

func ResponseContentEncoding Uses

func ResponseContentEncoding(value string) Option

ResponseContentEncoding is an option to set response-content-encoding param

func ResponseContentLanguage Uses

func ResponseContentLanguage(value string) Option

ResponseContentLanguage is an option to set response-content-language param

func ResponseContentType Uses

func ResponseContentType(value string) Option

ResponseContentType is an option to set response-content-type param

func ResponseExpires Uses

func ResponseExpires(value string) Option

ResponseExpires is an option to set response-expires param

func Routines Uses

func Routines(n int) Option

Routines DownloadFile/UploadFile并发数

func ServerSideEncryption Uses

func ServerSideEncryption(value string) Option

ServerSideEncryption is an option to set X-Oss-Server-Side-Encryption header

func StorageClass Uses

func StorageClass(value StorageClassType) Option

StorageClass bucket的存储方式

func UDFID Uses

func UDFID(value string) Option

UDF相关 UDFID is an option to set udf Id in ListUDFs

func UDFImageDesc Uses

func UDFImageDesc(value string) Option

UDFImageDesc is an option to set udf Id in ListUDFs

func UDFSince Uses

func UDFSince(t time.Time) Option

func UDFTail Uses

func UDFTail(t int64) Option

func UploadIDMarker Uses

func UploadIDMarker(value string) Option

UploadIDMarker is an option to set upload-id-marker parameter

type Owner Uses

type Owner struct {
    XMLName     xml.Name `xml:"Owner"`
    ID          string   `xml:"ID"`          // 用户ID
    DisplayName string   `xml:"DisplayName"` // Owner名字
}

Owner Bucket/Object的owner

type ProgressEvent Uses

type ProgressEvent struct {
    ConsumedBytes int64
    TotalBytes    int64
    EventType     ProgressEventType
}

ProgressEvent progress event

type ProgressEventType Uses

type ProgressEventType int

ProgressEventType transfer progress event type

const (
    // TransferStartedEvent transfer started, set TotalBytes
    TransferStartedEvent ProgressEventType = 1 + iota
    // TransferDataEvent transfer data, set ConsumedBytes anmd TotalBytes
    TransferDataEvent
    // TransferCompletedEvent transfer completed
    TransferCompletedEvent
    // TransferFailedEvent transfer encounters an error
    TransferFailedEvent
)

type ProgressListener Uses

type ProgressListener interface {
    ProgressChanged(event *ProgressEvent)
}

ProgressListener listen progress change

type PutObjectRequest Uses

type PutObjectRequest struct {
    ObjectKey string
    Reader    io.Reader
}

PutObjectRequest The request of DoPutObject

type RefererXML Uses

type RefererXML struct {
    XMLName           xml.Name `xml:"RefererConfiguration"`
    AllowEmptyReferer bool     `xml:"AllowEmptyReferer"`   // 是否允许referer字段为空的请求访问
    RefererList       []string `xml:"RefererList>Referer"` // referer访问白名单
}

RefererXML Referer配置

type ResizeUDFApplicationXML Uses

type ResizeUDFApplicationXML struct {
    XMLName     xml.Name `xml:"ResizeUDFApplicationConfiguration"`
    InstanceNum int64    `xml:"InstanceNum"`
}

ResizeUDFApplicationXML UDF应用扩容的配置

type Response Uses

type Response struct {
    StatusCode int
    Headers    http.Header
    Body       io.ReadCloser
    ClientCRC  uint64
    ServerCRC  uint64
}

Response Http response from oss

type ServiceError Uses

type ServiceError struct {
    XMLName    xml.Name `xml:"Error"`
    Code       string   `xml:"Code"`      // OSS返回给用户的错误码
    Message    string   `xml:"Message"`   // OSS给出的详细错误信息
    RequestID  string   `xml:"RequestId"` // 用于唯一标识该次请求的UUID
    HostID     string   `xml:"HostId"`    // 用于标识访问的OSS集群
    RawMessage string   // OSS返回的原始消息内容
    StatusCode int      // HTTP状态码
}

ServiceError contains fields of the error response from Oss Service REST API.

func (ServiceError) Error Uses

func (e ServiceError) Error() string

Implement interface error

type SignURLConfiguration Uses

type SignURLConfiguration struct {
    Expires int64 //过期时间间隔
    Method  HTTPMethod
}

type StorageClassType Uses

type StorageClassType string

StorageClassType Bucket的存储类型

const (
    // StorageStandard 标准存储模式
    StorageStandard StorageClassType = "Standard"

    // StorageIA IA存储模式
    StorageIA StorageClassType = "IA"

    // StorageArchive Archive存储模式
    StorageArchive StorageClassType = "Archive"
)

type UDF Uses

type UDF struct {
    Client Client
}

UDF implements the operations of udf.

func (UDF) CreateUDF Uses

func (udf UDF) CreateUDF(udfConfig UDFConfiguration) error

CreateUDF 新建UDF。

UDF名称OSS全局唯一,如果UDF已被其他用户占用,覆盖原有Object。 若指定UDF ID,则表示将该UDF绑定到一个已存在的UDF上,即别名。

error 操作无错误为nil,非nil为错误信息。

func (UDF) CreateUDFApplication Uses

func (udf UDF) CreateUDFApplication(udfName string, udfAppConfig UDFAppConfiguration) error

CreateUDFApplication 新建UDF应用。

创建成功后,该UDF应用会处于creating状态,OSS后台会根据用户的配置分配资源、启动实例。 当UDF应用启动成功并成功运行后,用户就可以使用该UDF自定义进行数据处理工作。

由于创建并启动UDF应用需要消耗较多时间,所以该OSS接口为一个异步接口。用户在调用该接口成功后, 相应UDF应用处于creating状态,OSS后台任务会创建并启动UDF应用。 创建UDF应用时,指定的镜像版本必须已上传并处于build_success状态。 创建UDF应用时,指定的实例个数不能超过该UDF的实例上限

udfName 需要创建应用的UDF名称。 UDFAppConfiguration 创建UDF应用的配置。

error 操作无错误为nil,非nil为错误信息。

func (UDF) DeleteUDF Uses

func (udf UDF) DeleteUDF(udfName string) error

DeleteUDF 删除UDF。

udfName 需要删除的UDF名称。

error 操作无错误为nil,非nil为错误信息。

func (UDF) DeleteUDFApplication Uses

func (udf UDF) DeleteUDFApplication(udfName string) error

DeleteUDFApplication 删除某个数据中心中对应的UDF应用,并释放UDF应用实例对应的计算资源。

如果需要删除的UDF不存在,调用该接口时,OSS返回404 Not Found错误。 由于删除UDF应用需要消耗较多时间,该OSS接口是一个异步接口。用户在调用该接口成功后, 相应UDF应用处于deleting状态,OSS后台任务会删除UDF应用,并释放实例对应的计算资源。

删除的UDF应用为调用该接口时使用的Endpoint对应的数据中心中的应用。 只有处于running或者failed或者bad_image状态下的UDF应用才能删除,否则OSS返回409,InvalidUdfAppOriginalStatus。

udfName 需要删除的应用的UDF名称

error 操作无错误为nil,非nil为错误信息。

func (UDF) DeleteUDFImage Uses

func (udf UDF) DeleteUDFImage(udfName string) error

DeleteUDFImage 删除UDF已上传的镜像。调用该接口后,该UDF对应的所有版本的镜像都会被删除。

如果需要删除的UDF不存在,调用该接口时,OSS返回404 Not Found错误。 由于删除镜像需要消耗较多时间,该OSS接口是一个异步接口。用户在调用该接口成功后,该UDF对应 的所有版本的镜像都会处于deleting状态,OSS会在后台进行删除操作,最终镜像会被彻底删除。

删除UDF镜像前,该UDF所有版本的镜像必须处于build_success或者build_failed状态,如果还有building 状态的镜像,或者处于deleting状态的镜像(重复删除),调用删除镜像接口会失败,OSS返回400,错误码:BadUdfImageStatus。

udfName 需要删除镜像的UDF名称

error 操作无错误为nil,非nil为错误信息。

func (UDF) DoGetUDFApplicationLog Uses

func (udf UDF) DoGetUDFApplicationLog(udfName string, options []Option) (*GetObjectResult, error)

DoGetUDFApplicationLog 下载UDF应用的日志文件。

udfName 需要获取日志的UDF名称。 options 对象的属性限制项,可选值有since、tail。

error 操作无错误时返回error为nil,非nil为错误说明。

func (UDF) DoUploadUDFImage Uses

func (udf UDF) DoUploadUDFImage(udfName string, reader io.Reader, options []Option) (*Response, error)

DoUploadUDFImage 上传镜像。

udfName 上传镜像时指定的UDF名称。 reader io.Reader 需要上传的镜像的reader。 options 上传镜像时可以指定对象的属性,可用选项有udfImageDesc,表示UDF镜像的描述信息

Response 上传请求返回值。 error 操作无错误为nil,非nil为错误信息。

func (UDF) GetUDF Uses

func (udf UDF) GetUDF(udfName string) (GetUDFResult, error)

GetUDF 获得一个UDF的相关信息。包括该UDF的ID、描述信息、权限、Owner、创建时间等。

udfName 需要访问的UDF名称。 GetUDFResult 操作成功的返回值,error为nil时该返回值有效。

error 操作无错误为nil,非nil为错误信息。

func (UDF) GetUDFApplicationInfo Uses

func (udf UDF) GetUDFApplicationInfo(udfName string) (GetUDFApplicationInfoResult, error)

GetUDFApplicationInfo 获得一个UDF应用的相关信息。包括该UDF的应用的UDF ID、 所处数据中心、镜像版本、实例个数、应用状态、应用资源、创建时间等。

udfName 需要查询的UDF应用的名称。 GetUDFApplicationInfoResult 操作成功的返回值,error为nil时该返回值有效。

error 操作无错误为nil,非nil为错误信息。

func (UDF) GetUDFApplicationLog Uses

func (udf UDF) GetUDFApplicationLog(udfName string, options ...Option) (io.ReadCloser, error)

GetUDFApplicationLog 获取一个UDF应用的日志信息,日志为应用的标准输出和标准错误输出(stdout和stderr)。

udfName 需要获取日志的UDF名称。 options 对象的属性限制项,可选值有since、tail。

io.ReadCloser reader,读取数据后需要close。error为nil时有效。 error 操作无错误为nil,非nil为错误信息。

func (UDF) GetUDFApplicationLogToFile Uses

func (udf UDF) GetUDFApplicationLogToFile(udfName, filePath string, options ...Option) error

GetUDFApplicationLogToFile 下载UDF应用的日志文件。

udfName 需要获取日志的UDF名称。 options 对象的属性限制项,可选值有since、tail。

error 操作无错误时返回error为nil,非nil为错误说明。

func (UDF) GetUDFImageInfo Uses

func (udf UDF) GetUDFImageInfo(udfName string) (GetUDFImageInfoResult, error)

GetUDFImageInfo 获得一个UDF镜像的相关信息。所有的镜像版本、镜像状态、所属区域、描述信息以及创建时间等。

udfName 需要访问的镜像的UDF名称。 GetUDFImageInfoResult 操作成功的返回值,error为nil时该返回值有效。

error 操作无错误为nil,非nil为错误信息。

func (UDF) ListUDFApplications Uses

func (udf UDF) ListUDFApplications() (ListUDFApplicationsResult, error)

ListUDFApplications 获取某个数据中心中用户所有的UDF应用信息。 包括该各个UDF的应用的UDF ID、镜像版本、实例个数、应用状态、应用资源、创建时间等。

ListUDFApplicationsResult 操作成功后的返回值,error为nil时该返回值有效。

error 操作无错误时返回nil,非nil为错误信息。

func (UDF) ListUDFs Uses

func (udf UDF) ListUDFs(options ...Option) (ListUDFsResult, error)

ListUDFs 获取当前用户下的所有UDF。

options 指定ListUDF的筛选行为,可选,包含UDFID选项。 如果指定UDFID选项,表示只列举该UDFID对应的UDF信息。 常用使用场景的实现,参数示例程序list_udf.go。 ListUDFsResult 操作成功后的返回值,error为nil时该返回值有效。

error 操作无错误时返回nil,非nil为错误信息。

func (UDF) ResizeUDFApplication Uses

func (udf UDF) ResizeUDFApplication(udfName string, instanceNum int64) error

ResizeUDFApplication 扩容UDF应用。目前还不支持应用缩容。

由于扩容UDF应用需要消耗较多时间,所以该OSS接口为一个异步接口。用户在调用该接口成功后, 相应UDF应用处于resizing状态,OSS后台任务会完成UDF应用的扩容工作。扩容成功后,应用状态会变成running。 只有处于running状态下的UDF应用才能扩容,否则OSS返回409,InvalidUdfAppOriginalStatus。 扩容UDF应用时,指定的实例个数不能超过该UDF的实例上限

udfName 需要扩容的UDF应用名称。 instanceNum 应用扩容后的实例个数。

error 操作无错误为nil,非nil为错误信息。

func (UDF) UpgradeUDFApplication Uses

func (udf UDF) UpgradeUDFApplication(udfName string, imageVersion int64) error

UpgradeUDFApplication 更新UDF应用的镜像到指定的版本。

由于升级UDF应用需要消耗较多时间,所以该OSS接口为一个异步接口。用户在调用该接口成功后, 相应UDF应用处于upgrading状态,OSS后台任务会完成UDF应用的升级。升级成功后,应用状态会变成running。 升级UDF应用时,指定的镜像版本必须已上传并处于build_success状态。 只有处于running或者bad_image状态下的UDF应用才能升级,否则OSS返回409,InvalidUdfAppOriginalStatus。

udfName 需要升级应用的UDF名称。 imageVersion 使用的UDF镜像版本。

error 操作无错误为nil,非nil为错误信息。

func (UDF) UploadUDFImage Uses

func (udf UDF) UploadUDFImage(udfName string, reader io.Reader, options ...Option) error

UploadUDFImage 上传UDF镜像。OSS会根据用户上传的包构建一个镜像。

用户上传的包必须为zip格式或者tar.gz格式,并包含如下文件:

udf.yaml(udf镜像构建脚本),application(用户自己开发的应用程序)。

由于构建镜像需要消耗较多时间,所以该接口对用户来说为一个异步接口。用户在调用该接口成功后, 镜像会处于building状态,OSS会在后台进行构建操作。 初次上传镜像,镜像版本为1。以后每上传一次镜像,对应的镜像版本都会增加1。 如果该UDF的镜像为deleting状态(用户删除镜像,且OSS后台删除镜像任务还未执行完成),则再上 传镜像时OSS返回400 Bad Request,错误码为:BadUDFImageStatus。 上传的镜像允许的最大大小为5GB,如果超过该大小OSS返回400 Bad Request错误,错误码:InvalidArgument。

udfName 上传镜像时指定的UDF名称。 reader io.Reader 需要上传的镜像的reader。 options 上传镜像时可以指定对象的属性,可用选项有udfImageDesc,表示UDF镜像的描述信息( UploadUDFImage接口自动对描述信息进行url编码,描述信息字符内容长度最大为128字节,允许的字符为除去ASCII)。 码中十进制值小于32或等于127之外的所有UTF-8字符。

error 操作成功error为nil,非nil为错误信息。

func (UDF) UploadUDFImageFromFile Uses

func (udf UDF) UploadUDFImageFromFile(udfName string, filePath string, options ...Option) error

UploadUDFImageFromFile 上传UDF镜像。

udfName 上传镜像时指定的UDF名称。 filePath 需要上传的镜像包文件。 options 上传镜像时可以指定对象的属性,可用选项有udfImageDesc,详见UploadUDFImage的options。

error 操作成功error为nil,非nil为错误信息。

type UDFAppConfiguration Uses

type UDFAppConfiguration struct {
    XMLName      xml.Name     `xml:"CreateUDFApplicationConfiguration"`
    ImageVersion int64        `xml:"ImageVersion"`
    InstanceNum  int64        `xml:"InstanceNum"`
    Flavor       UDFAppFlavor `xml:"Flavor"`
}

UDFAppConfiguration 创建UDF应用的配置

type UDFAppFlavor Uses

type UDFAppFlavor struct {
    XMLName      xml.Name `xml:"Flavor"`
    InstanceType string   `xml:"InstanceType"`
}

UDFAppFlavor UDFApp描述信息

type UDFConfiguration Uses

type UDFConfiguration struct {
    XMLName        xml.Name `xml:"CreateUDFConfiguration"`
    UDFName        string   `xml:"Name"` // UDF名称,OSS全局唯一
    UDFID          string   `xml:"ID,omitempty"`
    UDFDescription string   `xml:"Description,omitempty"`
}

UDFConfiguration 创建UDF配置

type UDFDiskCategoryType Uses

type UDFDiskCategoryType string
const (
    // UDFCloud 普通云盘
    UDFCloud UDFDiskCategoryType = "cloud"

    // UDFCloudEfficiency 高效云盘
    UDFCloudEfficiency UDFDiskCategoryType = "cloud_efficiency"

    // UDFCloudSSD SSD云盘
    UDFCloudSSD UDFDiskCategoryType = "cloud_ssd"

    // UDFEphemeralSSD 本地SSD盘
    UDFEphemeralSSD UDFDiskCategoryType = "ephemeral_ssd"
)

type UDFImageInfo Uses

type UDFImageInfo struct {
    XMLName         xml.Name  `xml:"Item"`
    Version         int64     `xml:"Version"`         // UDF镜像版本
    Status          string    `xml:"Status"`          // UDF镜像的状态,包括building,build_success,build_failed,deleting
    CanonicalRegion string    `xml:"CanonicalRegion"` // UDF镜像所属的数据中心
    Description     string    `xml:"Description"`     // UDF镜像的描述信息
    CreationDate    time.Time `xml:"CreationDate"`    // UDF镜像上传时间
}

UDFImageInfo UDFImage信息

type UDFIoOptimizedType Uses

type UDFIoOptimizedType string

UDF相关

const (
    // UDFNone 非使最优
    UDFNone UDFIoOptimizedType = "none"

    // UDFIsOptimized 使最优
    UDFIsOptimized UDFIoOptimizedType = "optimized"
)

type UncompletedUpload Uses

type UncompletedUpload struct {
    XMLName   xml.Name  `xml:"Upload"`
    Key       string    `xml:"Key"`       // Object名称
    UploadID  string    `xml:"UploadId"`  // 对应UploadId
    Initiated time.Time `xml:"Initiated"` // 初始化时间,格式2012-02-23T04:18:23.000Z
}

UncompletedUpload 未完成的Upload任务

type UnexpectedStatusCodeError Uses

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

UnexpectedStatusCodeError is returned when a storage service responds with neither an error nor with an HTTP status code indicating success.

func (UnexpectedStatusCodeError) Error Uses

func (e UnexpectedStatusCodeError) Error() string

Implement interface error

func (UnexpectedStatusCodeError) Got Uses

func (e UnexpectedStatusCodeError) Got() int

Got is the actual status code returned by oss.

type UpgradeUDFApplicationXML Uses

type UpgradeUDFApplicationXML struct {
    XMLName      xml.Name `xml:"UpgradeUDFApplicationConfiguration"`
    ImageVersion int64    `xml:"ImageVersion"`
}

UpgradeUDFApplicationXML 更新UDF应用的配置

type UploadPart Uses

type UploadPart struct {
    XMLName    xml.Name `xml:"Part"`
    PartNumber int      `xml:"PartNumber"` // Part编号
    ETag       string   `xml:"ETag"`       // ETag缓存码
}

UploadPart 上传/拷贝的分片

type UploadPartCopyResult Uses

type UploadPartCopyResult struct {
    XMLName      xml.Name  `xml:"CopyPartResult"`
    LastModified time.Time `xml:"LastModified"` // 最后修改时间
    ETag         string    `xml:"ETag"`         // ETag
}

UploadPartCopyResult 拷贝分片请求返回的结果

type UploadPartRequest Uses

type UploadPartRequest struct {
    InitResult *InitiateMultipartUploadResult
    Reader     io.Reader
    PartSize   int64
    PartNumber int
}

UploadPartRequest The request of DoUploadPart

type UploadPartResult Uses

type UploadPartResult struct {
    Part UploadPart
}

UploadPartResult The result of DoUploadPart

type UploadedPart Uses

type UploadedPart struct {
    XMLName      xml.Name  `xml:"Part"`
    PartNumber   int       `xml:"PartNumber"`   // Part编号
    LastModified time.Time `xml:"LastModified"` // 最后一次修改时间
    ETag         string    `xml:"ETag"`         // ETag缓存码
    Size         int       `xml:"Size"`         // Part大小
}

UploadedPart 该任务已经上传的分片

type WebsiteXML Uses

type WebsiteXML struct {
    XMLName       xml.Name      `xml:"WebsiteConfiguration"`
    IndexDocument IndexDocument `xml:"IndexDocument"` // 目录URL时添加的索引文件
    ErrorDocument ErrorDocument `xml:"ErrorDocument"` // 404错误时使用的文件
}

WebsiteXML Website配置

Package oss imports 26 packages (graph) and is imported by 4 packages. Updated 2017-05-22. Refresh now. Tools for package owners.