bos

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package bos defined a set of core data structure and functions for Baidu Cloud BOS API.

Index

Constants

View Source
const MAX_PART_NUMBER int = 10000

MAX_PART_NUMBER is the max part number for multipart upload.

View Source
const MIN_PART_NUMBER int = 1

MIN_PART_NUMBER is the min part number for multipart upload.

View Source
const STORAGE_CLASS_COLD = "COLD"
View Source
const STORAGE_CLASS_STANDARD = "STANDARD"

STORAGE_CLASS is the storage type of BOS object

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutObject.E6.8E.A5.E5.8F.A3

View Source
const STORAGE_CLASS_STANDARD_IA = "STANDARD_IA"
View Source
const UserDefinedMetadataPrefix = "x-bce-meta-"

UserDefinedMetadataPrefix is the prefix of custom metadata.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutObject.E6.8E.A5.E5.8F.A3

Variables

View Source
var CannedAccessControlList = map[string]string{
	"Private":         "private",
	"PublicRead":      "public-read",
	"PublicReadWrite": "public-read-write",
}

CannedAccessControlList contains all authority levels of BOS.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#.4F.FA.21.55.58.27.F8.31.85.2D.01.55.89.10.A7.16

View Source
var Endpoint = map[string]string{
	"bj": "bj.bcebos.com",
	"gz": "gz.bcebos.com",
	"hk": "hk.bcebos.com",
}

Endpoint contains all endpoints of Baidu Cloud BOS.

Functions

func IsUserDefinedMetadata

func IsUserDefinedMetadata(metadata string) bool

IsUserDefinedMetadata checks the specified metadata if it is custom metadata.

func ToUserDefinedMetadata

func ToUserDefinedMetadata(metadata string) string

ToUserDefinedMetadata generates a custom metadata value.

Types

type AbortMultipartUploadRequest

type AbortMultipartUploadRequest struct {
	BucketName, ObjectKey, UploadId string
}

AbortMultipartUploadRequest contains all options for bos.AbortMultipartUpload method.

type AppendObjectResponse

type AppendObjectResponse http.Header

func NewAppendObjectResponse

func NewAppendObjectResponse(h http.Header) AppendObjectResponse

func (AppendObjectResponse) Get

func (res AppendObjectResponse) Get(key string) string

Get gets a header value by key from http header.

func (AppendObjectResponse) GetETag

func (res AppendObjectResponse) GetETag() string

GetETag gets value of Etag field from http header.

func (AppendObjectResponse) GetMD5

func (res AppendObjectResponse) GetMD5() string

GetMD5 gets value of Content-MD5 field from http header.

func (AppendObjectResponse) GetNextAppendOffset

func (res AppendObjectResponse) GetNextAppendOffset() string

GetNextAppendOffset gets value of x-bce-next-append-offset field from http header.

type Bucket

type Bucket struct {
	Name, Location string
	CreationDate   time.Time
}

Bucket defined a struct for bucket info.

type BucketAcl

type BucketAcl struct {
	Owner             BucketOwner `json:"owner"`
	AccessControlList []Grant     `json:"accessControlList"`
}

BucketAcl defined a struct for authority info.

type BucketCors

type BucketCors struct {
	CorsConfiguration []BucketCorsItem `json:"corsConfiguration"`
}

BucketCors defined a struct for all CORS configuration info.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketCors.E6.8E.A5.E5.8F.A3

type BucketCorsItem

type BucketCorsItem struct {
	AllowedOrigins       []string `json:"allowedOrigins"`
	AllowedMethods       []string `json:"allowedMethods"`
	AllowedHeaders       []string `json:"allowedHeaders"`
	AllowedExposeHeaders []string `json:"allowedExposeHeaders"`
	MaxAgeSeconds        int      `json:"maxAgeSeconds"`
}

BucketCorsItem defined a struct for one item of CORS configuration.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketCors.E6.8E.A5.E5.8F.A3

type BucketGrantee

type BucketGrantee struct {
	Id string `json:"id"`
}

BucketGrantee defined a struct for grantee info.

type BucketLifecycle added in v1.0.3

type BucketLifecycle struct {
	Rule []BucketLifecycleItem `json:"rule"`
}

type BucketLifecycleItem added in v1.0.3

type BucketLifecycleItem struct {
	Id        string                       `json:"id,omitempty"`
	Status    string                       `json:"status"`
	Resource  []string                     `json:"resource"`
	Condition BucketLifecycleItemCondition `json:"condition"`
	Action    BucketLifecycleItemAction    `json:"action"`
}

BucketLifecycleRule defined a struct for one item of Lifecycle configuration

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketlifecycle

type BucketLifecycleItemAction added in v1.0.3

type BucketLifecycleItemAction struct {
	Name         string `json:"name"`
	StorageClass string `json:"storageClass,omitempty"`
}

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketlifecycle

type BucketLifecycleItemCondition added in v1.0.3

type BucketLifecycleItemCondition struct {
	Time BucketLifecycleItemConditionTime `json:"time"`
}

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketlifecycle

type BucketLifecycleItemConditionTime added in v1.0.3

type BucketLifecycleItemConditionTime struct {
	DateGreaterThan string `json:"dateGreaterThan"`
}

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketlifecycle

type BucketLogging

type BucketLogging struct {
	Status       string `json:"status"`
	TargetBucket string `json:"targetBucket"`
	TargetPrefix string `json:"targetPrefix"`
}

BucketLogging contains all options for bos.GetBucketLogging method.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucketLogging

type BucketOwner

type BucketOwner struct {
	Id          string `json:"id"`
	DisplayName string `json:"displayName,omitempty"`
}

BucketOwner defined a struct for bucket owner info.

type BucketSummary

type BucketSummary struct {
	Owner   BucketOwner
	Buckets []Bucket
}

BucketSummary defined a struct for bucket summary.

type Client

type Client struct {
	*bce.Client
}

Client is the bos client implemention for Baidu Cloud BOS API.

func NewClient

func NewClient(config *Config) *Client

func (*Client) AbortMultipartUpload

func (c *Client) AbortMultipartUpload(abortMultipartUploadRequest AbortMultipartUploadRequest,
	option *bce.SignOption) error

AbortMultipartUpload aborts the whole process of a BOS Object Multipart Upload.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#AbortMultipartUpload.E6.8E.A5.E5.8F.A3

func (*Client) AppendObject

func (c *Client) AppendObject(bucketName, objectKey string, offset int, data interface{},
	metadata *ObjectMetadata, option *bce.SignOption) (AppendObjectResponse, error)

AppendObject appends some data to an existing BOS Object.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#AppendObject.E6.8E.A5.E5.8F.A3

func (*Client) CompleteMultipartUpload

func (c *Client) CompleteMultipartUpload(completeMultipartUploadRequest CompleteMultipartUploadRequest,
	option *bce.SignOption) (*CompleteMultipartUploadResponse, error)

CompleteMultipartUpload is the last step for BOS Object Multipart Upload.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#CompleteMultipartUpload.E6.8E.A5.E5.8F.A3

func (*Client) CopyObject

func (c *Client) CopyObject(srcBucketName, srcKey, destBucketName, destKey string,
	option *bce.SignOption) (*CopyObjectResponse, error)

CopyObject copies an existing BOS Object.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#CopyObject.E6.8E.A5.E5.8F.A3

func (*Client) CopyObjectFromRequest

func (c *Client) CopyObjectFromRequest(copyObjectRequest CopyObjectRequest,
	option *bce.SignOption) (*CopyObjectResponse, error)

CopyObject copies an existing BOS Object.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#CopyObject.E6.8E.A5.E5.8F.A3

func (*Client) CreateBucket

func (c *Client) CreateBucket(bucketName string, option *bce.SignOption) error

CreateBucket creates a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucket.E6.8E.A5.E5.8F.A3

func (*Client) DeleteBucket

func (c *Client) DeleteBucket(bucketName string, option *bce.SignOption) error

DeleteBucket deletes a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#DeleteBucket.E6.8E.A5.E5.8F.A3

func (*Client) DeleteBucketCors

func (c *Client) DeleteBucketCors(bucketName string, option *bce.SignOption) error

DeleteBucketCors deletes CORS settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#DeleteBucketCors.E6.8E.A5.E5.8F.A3

func (*Client) DeleteBucketLifecycle added in v1.0.3

func (c *Client) DeleteBucketLifecycle(bucketName string, option *bce.SignOption) error

DeleteBucketLifecycle deletes the lifecycle settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#DeleteLifeCycle

func (*Client) DeleteBucketLogging

func (c *Client) DeleteBucketLogging(bucketName string, option *bce.SignOption) error

DeleteBucketLogging deletes the log settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#DeleteBucketLogging

func (*Client) DeleteMultipleObjects

func (c *Client) DeleteMultipleObjects(bucketName string, objectKeys []string,
	option *bce.SignOption) (*DeleteMultipleObjectsResponse, error)

DeleteMultipleObjects delete multiple BOS Object.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#DeleteMultipleObjects.E6.8E.A5.E5.8F.A3

func (*Client) DeleteObject

func (c *Client) DeleteObject(bucketName, objectKey string, option *bce.SignOption) error

DeleteObject deletes a BOS Object.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#DeleteObject.E6.8E.A5.E5.8F.A3

func (*Client) DoesBucketExist

func (c *Client) DoesBucketExist(bucketName string, option *bce.SignOption) (bool, error)

DoesBucketExist checks a BOS Bucket if it is exists.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#HeadBucket.E6.8E.A5.E5.8F.A3

func (*Client) GeneratePresignedUrl

func (c *Client) GeneratePresignedUrl(bucketName, objectKey string, option *bce.SignOption) (string, error)

GeneratePresignedUrl generates the full URL of a BOS Object.

func (*Client) GetBucketAcl

func (c *Client) GetBucketAcl(bucketName string, option *bce.SignOption) (*BucketAcl, error)

GetBucketAcl gets all authorization info of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucketAcl.E6.8E.A5.E5.8F.A3

func (*Client) GetBucketCors

func (c *Client) GetBucketCors(bucketName string, option *bce.SignOption) (*BucketCors, error)

GetBucketCors get CORS settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucketCors.E6.8E.A5.E5.8F.A3

func (*Client) GetBucketLifecycle added in v1.0.3

func (c *Client) GetBucketLifecycle(bucketName string, option *bce.SignOption) (*BucketLifecycle, error)

GetBucketLifecycle gets CORS settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetLifeCycle

func (*Client) GetBucketLocation

func (c *Client) GetBucketLocation(bucketName string, option *bce.SignOption) (*Location, error)

GetBucketLocation returns the location of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucketLocation.E6.8E.A5.E5.8F.A3

func (*Client) GetBucketLogging

func (c *Client) GetBucketLogging(bucketName string, option *bce.SignOption) (*BucketLogging, error)

GetBucketLogging gets the log settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucketLogging

func (*Client) GetBucketName

func (c *Client) GetBucketName(bucketName string) string

GetBucketName returns the actual name of BOS Bucket.

func (*Client) GetObject

func (c *Client) GetObject(bucketName, objectKey string, option *bce.SignOption) (*Object, error)

GetObject gets a BOS Object details.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetObject.E6.8E.A5.E5.8F.A3

func (*Client) GetObjectFromRequest

func (c *Client) GetObjectFromRequest(getObjectRequest GetObjectRequest,
	option *bce.SignOption) (*Object, error)

GetObjectFromRequest gets a BOS Object details.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetObject.E6.8E.A5.E5.8F.A3

func (*Client) GetObjectMetadata

func (c *Client) GetObjectMetadata(bucketName, objectKey string, option *bce.SignOption) (*ObjectMetadata, error)

GetObjectMetadata gets the metadata details of a BOS Object.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetObjectMeta.E6.8E.A5.E5.8F.A3

func (*Client) GetObjectToFile

func (c *Client) GetObjectToFile(getObjectRequest *GetObjectRequest, file *os.File,
	option *bce.SignOption) (*ObjectMetadata, error)

GetObjectToFile gets the content of a BOS Object to local file.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetObject.E6.8E.A5.E5.8F.A3

func (*Client) GetURL

func (c *Client) GetURL(bucketName, objectKey string, params map[string]string) string

GetURL generates the full URL of http request for Baidu Cloud BOS API.

func (*Client) InitiateMultipartUpload

func (c *Client) InitiateMultipartUpload(initiateMultipartUploadRequest InitiateMultipartUploadRequest,
	option *bce.SignOption) (*InitiateMultipartUploadResponse, error)

InitiateMultipartUpload is the first step for BOS Object Multipart Upload.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#InitiateMultipartUpload.E6.8E.A5.E5.8F.A3

func (*Client) ListBuckets

func (c *Client) ListBuckets(option *bce.SignOption) (*BucketSummary, error)

ListBuckets gets all buckets.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#ListBuckets.E6.8E.A5.E5.8F.A3

func (*Client) ListMultipartUploads

func (c *Client) ListMultipartUploads(bucketName string,
	option *bce.SignOption) (*ListMultipartUploadsResponse, error)

ListMultipartUploads lists all BOS Buckets that are not completed under the Multipart Upload process.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#ListMultipartUploads.E6.8E.A5.E5.8F.A3

func (*Client) ListMultipartUploadsFromRequest

func (c *Client) ListMultipartUploadsFromRequest(listMultipartUploadsRequest ListMultipartUploadsRequest,
	option *bce.SignOption) (*ListMultipartUploadsResponse, error)

ListMultipartUploadsFromRequest lists all BOS Buckets that are not completed under the Multipart Upload process.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#ListMultipartUploads.E6.8E.A5.E5.8F.A3

func (*Client) ListObjects

func (c *Client) ListObjects(bucketName string, option *bce.SignOption) (*ListObjectsResponse, error)

ListObjects get a list of BOS Object for the specified BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucket.2FListObjects.E6.8E.A5.E5.8F.A3

func (*Client) ListObjectsFromRequest

func (c *Client) ListObjectsFromRequest(listObjectsRequest ListObjectsRequest,
	option *bce.SignOption) (*ListObjectsResponse, error)

ListObjectsFromRequest get a list of BOS Object for the specified BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucket.2FListObjects.E6.8E.A5.E5.8F.A3

func (*Client) ListParts

func (c *Client) ListParts(bucketName, objectKey, uploadId string,
	option *bce.SignOption) (*ListPartsResponse, error)

ListParts gets a list of parts for a BOS Object Multipart Upload.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#ListParts.E6.8E.A5.E5.8F.A3

func (*Client) ListPartsFromRequest

func (c *Client) ListPartsFromRequest(listPartsRequest ListPartsRequest,
	option *bce.SignOption) (*ListPartsResponse, error)

ListPartsFromRequest gets a list of parts for a BOS Object Multipart Upload.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#ListParts.E6.8E.A5.E5.8F.A3

func (*Client) MultipartUploadFromFile

func (c *Client) MultipartUploadFromFile(bucketName, objectKey, filePath string,
	partSize int64) (*CompleteMultipartUploadResponse, error)

MultipartUploadFromFile creates a BOS Object from local file by BOS Object Multipart Upload.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#MultipartUpload.E7.9B.B8.E5.85.B3.E6.8E.A5.E5.8F.A3

func (*Client) OptionsObject

func (c *Client) OptionsObject(bucketName, objectKey, origin, accessControlRequestMethod,
	accessControlRequestHeaders string) (*bce.Response, error)

OptionsObject sends a http request with method OPTION.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#OPTIONS.20Object.E6.8E.A5.E5.8F.A3

func (*Client) PutObject

func (c *Client) PutObject(bucketName, objectKey string, data interface{},
	metadata *ObjectMetadata, option *bce.SignOption) (PutObjectResponse, error)

PutObject creates a BOS Object.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutObject.E6.8E.A5.E5.8F.A3

func (*Client) SetBucketAcl

func (c *Client) SetBucketAcl(bucketName string, bucketAcl BucketAcl, option *bce.SignOption) error

SetBucketAcl sets authorization info of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketAcl.E6.8E.A5.E5.8F.A3

func (*Client) SetBucketCors

func (c *Client) SetBucketCors(bucketName string, bucketCors BucketCors, option *bce.SignOption) error

SetBucketCors sets the CORS settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketCors.E6.8E.A5.E5.8F.A3

func (*Client) SetBucketLifecycle added in v1.0.3

func (c *Client) SetBucketLifecycle(bucketName string, bucketLifecycle BucketLifecycle, option *bce.SignOption) error

SetBucketlifecycle set lifecycle configuration of a bucket

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketlifecycle

func (*Client) SetBucketLogging

func (c *Client) SetBucketLogging(bucketName, targetBucket, targetPrefix string, option *bce.SignOption) error

SetBucketLogging sets the log settings of a BOS Bucket.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketLogging.E6.8E.A5.E5.8F.A3

func (*Client) SetBucketPrivate

func (c *Client) SetBucketPrivate(bucketName string, option *bce.SignOption) error

SetBucketPrivate sets authorization of a BOS Bucket to private.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketAcl.E6.8E.A5.E5.8F.A3

func (*Client) SetBucketPublicRead

func (c *Client) SetBucketPublicRead(bucketName string, option *bce.SignOption) error

SetBucketPublicRead sets authorization of a BOS Bucket to public-read.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketAcl.E6.8E.A5.E5.8F.A3

func (*Client) SetBucketPublicReadWrite

func (c *Client) SetBucketPublicReadWrite(bucketName string, option *bce.SignOption) error

SetBucketPublicReadWrite sets authorization of a BOS Bucket to public-read-write.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#PutBucketAcl.E6.8E.A5.E5.8F.A3

func (*Client) UploadPart

func (c *Client) UploadPart(uploadPartRequest UploadPartRequest,
	option *bce.SignOption) (UploadPartResponse, error)

UploadPart is the second step for BOS Object Multipart Upload.

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#UploadPart.E6.8E.A5.E5.8F.A3

type CompleteMultipartUploadRequest

type CompleteMultipartUploadRequest struct {
	BucketName, ObjectKey, UploadId string
	Parts                           []PartSummary `json:"parts"`
}

CompleteMultipartUploadRequest contains all options for bos.CompleteMultipartUpload method.

type CompleteMultipartUploadResponse

type CompleteMultipartUploadResponse struct {
	Location, Bucket, Key, ETag string
}

CompleteMultipartUploadResponse defined a struct for bos.CompleteMultipartUpload method's response.

type Config

type Config struct {
	*bce.Config
}

Config contains all options for bos.Client.

func NewConfig

func NewConfig(config *bce.Config) *Config

type CopyObjectRequest

type CopyObjectRequest struct {
	SrcBucketName         string          `json:"-"`
	SrcKey                string          `json:"-"`
	DestBucketName        string          `json:"-"`
	DestKey               string          `json:"-"`
	ObjectMetadata        *ObjectMetadata `json:"-"`
	SourceMatch           string          `json:"x-bce-copy-source-if-match,omitempty"`
	SourceNoneMatch       string          `json:"x-bce-copy-source-if-none-match,omitempty"`
	SourceModifiedSince   string          `json:"x-bce-copy-source-if-modified-since,omitempty"`
	SourceUnmodifiedSince string          `json:"x-bce-copy-source-if-unmodified-since,omitempty"`
}

CopyObjectRequest contains all options for bos.ListObjectsFromRequest method.

type CopyObjectResponse

type CopyObjectResponse struct {
	ETag         string
	LastModified time.Time
}

CopyObjectResponse defined a struct for bos.CopyObject method's response.

type DeleteMultipleObjectsError

type DeleteMultipleObjectsError struct {
	Key, Code, Message string
}

DeleteMultipleObjectsError defined a struct for error message of bos.DeleteMultipleObjects method.

func (*DeleteMultipleObjectsError) Error

func (deleteMultipleObjectsError *DeleteMultipleObjectsError) Error() string

Error returns the formatted error message of bos.DeleteMultipleObjects method.

type DeleteMultipleObjectsResponse

type DeleteMultipleObjectsResponse struct {
	Errors []DeleteMultipleObjectsError
}

DeleteMultipleObjectsError defined a struct for bos.DeleteMultipleObjects method's response.

type GetObjectRequest

type GetObjectRequest struct {
	BucketName string
	ObjectKey  string
	Range      string
}

GetObjectRequest contains all options for bos.GetObjectFromRequest method.

func (*GetObjectRequest) MergeToSignOption

func (getObjectRequest *GetObjectRequest) MergeToSignOption(option *bce.SignOption)

MergeToSignOption merges bos.GetObjectRequest fields to bce.SignOption.

func (*GetObjectRequest) SetRange

func (getObjectRequest *GetObjectRequest) SetRange(start uint, end uint)

SetRange sets the range field of bos.GetObjectRequest.

type Grant

type Grant struct {
	Grantee    []BucketGrantee `json:"grantee"`
	Permission []string        `json:"permission"`
}

BucketAcl defined a struct for grantee and permission info.

type InitiateMultipartUploadRequest

type InitiateMultipartUploadRequest struct {
	BucketName, ObjectKey string
	ObjectMetadata        *ObjectMetadata
}

InitiateMultipartUploadRequest contains all options for bos.InitiateMultipartUpload method.

type InitiateMultipartUploadResponse

type InitiateMultipartUploadResponse struct {
	Bucket, Key, UploadId string
}

InitiateMultipartUploadResponse defined a atruct for bos.InitiateMultipartUpload method's response.

type ListMultipartUploadsRequest

type ListMultipartUploadsRequest struct {
	BucketName, Delimiter, KeyMarker, Prefix string
	MaxUploads                               int
}

ListMultipartUploadsRequest contains all options for bos.ListMultipartUploads method.

type ListMultipartUploadsResponse

type ListMultipartUploadsResponse struct {
	Bucket         string
	Prefix         string
	Delimiter      string
	KeyMarker      string
	NextKeyMarker  string
	MaxUploads     int
	IsTruncated    bool
	Uploads        []MultipartUploadSummary
	CommonPrefixes []map[string]string
}

ListMultipartUploadsResponse defined a struct for bos.ListMultipartUploads method's response.

func (*ListMultipartUploadsResponse) GetCommonPrefixes

func (listMultipartUploadsResponse *ListMultipartUploadsResponse) GetCommonPrefixes() []string

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#ListMultipartUploads.E6.8E.A5.E5.8F.A3

type ListObjectsRequest

type ListObjectsRequest struct {
	BucketName, Delimiter, Marker, Prefix string
	MaxKeys                               int
}

ListObjectsRequest contains all options for bos.ListObjectsFromRequest method.

type ListObjectsResponse

type ListObjectsResponse struct {
	Name           string
	Prefix         string
	Delimiter      string
	Marker         string
	NextMarker     string
	MaxKeys        uint
	IsTruncated    bool
	Contents       []ObjectSummary
	CommonPrefixes []map[string]string
}

ListObjectsResponse defined a struct for bos.ListObjectsFromRequest method's response.

func (*ListObjectsResponse) GetCommonPrefixes

func (listObjectsResponse *ListObjectsResponse) GetCommonPrefixes() []string

For details, please refer https://cloud.baidu.com/doc/BOS/API.html#GetBucket.2FListObjects.E6.8E.A5.E5.8F.A3

type ListPartsRequest

type ListPartsRequest struct {
	BucketName, ObjectKey, UploadId, PartNumberMarker string
	MaxParts                                          int
}

ListPartsRequest contains all options for bos.ListParts method.

type ListPartsResponse

type ListPartsResponse struct {
	Bucket               string
	Key                  string
	UploadId             string
	Initiated            time.Time
	PartNumberMarker     int
	NextPartNumberMarker int
	MaxParts             int
	IsTruncated          bool
	Owner                BucketOwner
	Parts                []PartSummary
}

ListPartsResponse defined a struct for bos.ListParts method's response.

type Location

type Location struct {
	LocationConstraint string
}

Location defined a struct for bucket location info.

type MultipartUploadSummary

type MultipartUploadSummary struct {
	Key, UploadId string
	Initiated     time.Time
	NextKeyMarker string
	Owner         BucketOwner
}

MultipartUploadSummary defined a struct for summary of each multipart upload item.

type Object

type Object struct {
	ObjectMetadata *ObjectMetadata
	ObjectContent  io.ReadCloser
}

Object defined a struct for BOS Object.

type ObjectMetadata

type ObjectMetadata struct {
	CacheControl       string
	ContentDisposition string
	ContentLength      int64
	ContentMD5         string
	ContentType        string
	Expires            string
	ContentSha256      string

	ContentRange string
	ETag         string
	UserMetadata map[string]string
	StorageClass string
}

ObjectMetadata defined a struct for all metadata info of BOS Object.

func NewObjectMetadataFromHeader

func NewObjectMetadataFromHeader(h http.Header) *ObjectMetadata

NewObjectMetadataFromHeader generates a bos.ObjectMetadata instance from a http.Header instance.

func (*ObjectMetadata) AddUserMetadata

func (metadata *ObjectMetadata) AddUserMetadata(key, value string)

AddUserMetadata adds a custom metadata to bos.ObjectMetadata.

type ObjectSummary

type ObjectSummary struct {
	Key          string
	LastModified string
	ETag         string
	Size         int64
	Owner        BucketOwner
}

ObjectMetadata defined a struct for BOS Object summary info.

type PartSummary

type PartSummary struct {
	PartNumber   int    `json:"partNumber"`
	ETag         string `json:"eTag"`
	LastModified time.Time
	Size         int64
}

PartSummary defind a struct for each part's summary of multipart upload.

type PartSummarySlice

type PartSummarySlice []PartSummary

PartSummarySlice defined a slice for bos.PartSummary.

PartSummarySlice implements the interface of sort.Interface, so we can use sort.Sort method to sort it.

func (PartSummarySlice) Len

func (partSummarySlice PartSummarySlice) Len() int

Len gets the length of bos.PartSummarySlice instance.

func (PartSummarySlice) Less

func (partSummarySlice PartSummarySlice) Less(i, j int) bool

Less compares two elements in bos.PartSummarySlice instance.

func (PartSummarySlice) Swap

func (partSummarySlice PartSummarySlice) Swap(i, j int)

Swap swap two elements in bos.PartSummarySlice instance.

type PutObjectResponse

type PutObjectResponse http.Header

func NewPutObjectResponse

func NewPutObjectResponse(h http.Header) PutObjectResponse

func (PutObjectResponse) Get

func (res PutObjectResponse) Get(key string) string

Get gets a header value by key from http header.

func (PutObjectResponse) GetETag

func (res PutObjectResponse) GetETag() string

GetETag gets Etag value from http header.

type UploadPartRequest

type UploadPartRequest struct {
	BucketName, ObjectKey, UploadId string
	PartSize                        int64
	PartNumber                      int
	PartData                        io.Reader
}

UploadPartRequest contains all options for bos.UploadPart method.

type UploadPartResponse

type UploadPartResponse http.Header

func NewUploadPartResponse

func NewUploadPartResponse(h http.Header) UploadPartResponse

func (UploadPartResponse) Get

func (res UploadPartResponse) Get(key string) string

Get gets a header value by key from http header.

func (UploadPartResponse) GetETag

func (res UploadPartResponse) GetETag() string

GetETag gets value of Etag field from http header.

Jump to

Keyboard shortcuts

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