api

package
v0.9.198 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2024 License: Apache-2.0 Imports: 14 Imported by: 77

Documentation

Overview

Package api defines all APIs supported by the BOS service of BCE.

Index

Constants

View Source
const (
	METADATA_DIRECTIVE_COPY    = "copy"
	METADATA_DIRECTIVE_REPLACE = "replace"

	STORAGE_CLASS_STANDARD    = "STANDARD"
	STORAGE_CLASS_STANDARD_IA = "STANDARD_IA"
	STORAGE_CLASS_COLD        = "COLD"
	STORAGE_CLASS_ARCHIVE     = "ARCHIVE"

	FETCH_MODE_SYNC  = "sync"
	FETCH_MODE_ASYNC = "async"

	CANNED_ACL_PRIVATE           = "private"
	CANNED_ACL_PUBLIC_READ       = "public-read"
	CANNED_ACL_PUBLIC_READ_WRITE = "public-read-write"

	RAW_CONTENT_TYPE = "application/octet-stream"

	THRESHOLD_100_CONTINUE = 1 << 20 // add 100 continue header if body size bigger than 1MB

	TRAFFIC_LIMIT_MAX = 8 * (100 << 20) // 100M bit = 838860800
	TRAFFIC_LIMIT_MIN = 8 * (100 << 10) // 100K bit = 819200

	STATUS_ENABLED  = "enabled"
	STATUS_DISABLED = "disabled"

	ENCRYPTION_AES256 = "AES256"

	RESTORE_TIER_STANDARD  = "Standard"  //标准取回对象
	RESTORE_TIER_EXPEDITED = "Expedited" //快速取回对象

	FORBID_OVERWRITE_FALSE = "false"
	FORBID_OVERWRITE_TRUE  = "true"

	NAMESPACE_BUCKET  = "namespace"
	BOS_CONFIG_PREFIX = "bos://"
)

Variables

View Source
var DEFAULT_CNAME_LIKE_LIST = []string{
	".cdn.bcebos.com",
}
View Source
var (
	GET_OBJECT_ALLOWED_RESPONSE_HEADERS = map[string]struct{}{
		"ContentDisposition": {},
		"ContentType":        {},
		"ContentLanguage":    {},
		"Expires":            {},
		"CacheControl":       {},
		"ContentEncoding":    {},
	}
)
View Source
var VALID_FORBID_OVERWRITE = map[string]int{
	FORBID_OVERWRITE_FALSE: 1,
	FORBID_OVERWRITE_TRUE:  1,
}
View Source
var VALID_RESTORE_TIER = map[string]int{
	RESTORE_TIER_STANDARD:  1,
	RESTORE_TIER_EXPEDITED: 1,
}

Functions

func AbortMultipartUpload

func AbortMultipartUpload(cli bce.Client, bucket, object, uploadId string, ctx *BosContext) error

AbortMultipartUpload - abort a multipart upload operation

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the destination bucket name
  • object: the destination object name
  • uploadId: the multipart upload id

RETURNS:

  • error: nil if ok otherwise the specific error

func DeleteBucket

func DeleteBucket(cli bce.Client, bucket string, ctx *BosContext) error

DeleteBucket - delete an empty bucket by given name

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name to be deleted

RETURNS:

  • error: nil if delete success otherwise the specific error

func DeleteBucketCopyrightProtection

func DeleteBucketCopyrightProtection(cli bce.Client, bucket string, ctx *BosContext) error

DeleteBucketCopyrightProtection - delete the copyright protection config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteBucketCors

func DeleteBucketCors(cli bce.Client, bucket string, ctx *BosContext) error

DeleteBucketCors - delete the CORS config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteBucketEncryption

func DeleteBucketEncryption(cli bce.Client, bucket string, ctx *BosContext) error

DeleteBucketEncryption - delete the encryption config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteBucketLifecycle

func DeleteBucketLifecycle(cli bce.Client, bucket string, ctx *BosContext) error

DeleteBucketLifecycle - delete the lifecycle rule of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteBucketLogging

func DeleteBucketLogging(cli bce.Client, bucket string, ctx *BosContext) error

DeleteBucketLogging - delete the logging setting of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteBucketMirror added in v0.9.147

func DeleteBucketMirror(cli bce.Client, bucket string, ctx *BosContext) error

func DeleteBucketNotification

func DeleteBucketNotification(cli bce.Client, bucket string, ctx *BosContext) error

func DeleteBucketReplication

func DeleteBucketReplication(cli bce.Client, bucket string, replicationRuleId string, ctx *BosContext) error

DeleteBucketReplication - delete the bucket replication config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • replicationRuleId: the replication rule id composed of [0-9 A-Z a-z _ -]

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteBucketStaticWebsite

func DeleteBucketStaticWebsite(cli bce.Client, bucket string, ctx *BosContext) error

DeleteBucketStaticWebsite - delete the static website config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteBucketTag added in v0.9.154

func DeleteBucketTag(cli bce.Client, bucket string, ctx *BosContext) error

func DeleteBucketTrash

func DeleteBucketTrash(cli bce.Client, bucket string, ctx *BosContext) error

func DeleteObject

func DeleteObject(cli bce.Client, bucket, object string, ctx *BosContext) error

DeleteObject - delete the given object

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object to be deleted
  • object: the name of the object

RETURNS:

  • error: nil if ok otherwise the specific error

func DeleteObjectAcl

func DeleteObjectAcl(cli bce.Client, bucket, object string, ctx *BosContext) error

DeleteObjectAcl - delete the ACL of the given object

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • object: the object name

RETURNS:

  • error: nil if success otherwise the specific error

func DeleteObjectTag added in v0.9.172

func DeleteObjectTag(cli bce.Client, bucket, object string, ctx *BosContext) error

func GeneratePresignedUrl

func GeneratePresignedUrl(conf *bce.BceClientConfiguration, signer auth.Signer, bucket,
	object string, expire int, method string, headers, params map[string]string) string

func GeneratePresignedUrlInternal added in v0.9.87

func GeneratePresignedUrlInternal(conf *bce.BceClientConfiguration, signer auth.Signer, bucket,
	object string, expire int, method string, headers, params map[string]string, path_style bool) string

func GeneratePresignedUrlPathStyle added in v0.9.87

func GeneratePresignedUrlPathStyle(conf *bce.BceClientConfiguration, signer auth.Signer, bucket,
	object string, expire int, method string, headers, params map[string]string) string

func GetBucketCopyrightProtection

func GetBucketCopyrightProtection(cli bce.Client, bucket string, ctx *BosContext) ([]string, error)

GetBucketCopyrightProtection - get the copyright protection config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • result: the bucket copyright protection resources array
  • error: nil if success otherwise the specific error

func GetBucketEncryption

func GetBucketEncryption(cli bce.Client, bucket string, ctx *BosContext) (string, error)

GetBucketEncryption - get the encryption config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • algorithm: the bucket encryption algorithm
  • error: nil if success otherwise the specific error

func GetBucketLocation

func GetBucketLocation(cli bce.Client, bucket string, ctx *BosContext) (string, error)

GetBucketLocation - get the location of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • string: the location of the bucket
  • error: nil if delete success otherwise the specific error

func GetBucketStorageclass

func GetBucketStorageclass(cli bce.Client, bucket string, ctx *BosContext) (string, error)

GetBucketStorageclass - get the storage class of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • string: the storage class of the bucket
  • error: nil if success otherwise the specific error
func GetObjectSymlink(cli bce.Client, bucket string, symlinkKey string, ctx *BosContext) (string, error)

PutObjectSymlink - put the object from the string or the stream

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object
  • symlinkKey: the name of the symlink

RETURNS:

  • string: the name of the target object
  • error: nil if ok otherwise the specific error

func GetObjectTag added in v0.9.172

func GetObjectTag(cli bce.Client, bucket, object string, ctx *BosContext) (map[string]interface{}, error)

func HeadBucket

func HeadBucket(cli bce.Client, bucket string, ctx *BosContext) (error, *bce.BceResponse)

HeadBucket - test the given bucket existed and access authority

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if exists and have authority otherwise the specific error

func ParseObjectTagResult added in v0.9.175

func ParseObjectTagResult(rawData []byte) (map[string]interface{}, error)

func PutBucket

func PutBucket(cli bce.Client, bucket string, args *PutBucketArgs, ctx *BosContext) (string, error)

PutBucket - create a new bucket with the given name

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the new bucket name

RETURNS:

  • string: the location of the new bucket if create success
  • error: nil if create success otherwise the specific error

func PutBucketAcl

func PutBucketAcl(cli bce.Client, bucket, cannedAcl string, aclBody *bce.Body, ctx *BosContext) error

PutBucketAcl - set the acl of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • cannedAcl: support private, public-read, public-read-write
  • aclBody: the acl file body

RETURNS:

  • error: nil if delete success otherwise the specific error

func PutBucketCopyrightProtection

func PutBucketCopyrightProtection(cli bce.Client, ctx *BosContext, bucket string, resources ...string) error

PutBucketCopyrightProtection - set the copyright protection config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • resources: the resource items in the bucket to be protected

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketCors

func PutBucketCors(cli bce.Client, bucket string, confBody *bce.Body, ctx *BosContext) error

PutBucketCors - set the bucket CORS config

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • confBody: the CORS config body stream

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketEncryption

func PutBucketEncryption(cli bce.Client, bucket, algorithm string, ctx *BosContext) error

PutBucketEncryption - set the bucket encrpytion config

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • algorithm: the encryption algorithm

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketLifecycle

func PutBucketLifecycle(cli bce.Client, bucket string, lifecycle *bce.Body, ctx *BosContext) error

PutBucketLifecycle - set the lifecycle rule of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • lifecycle: the lifecycle rule json string body

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketLogging

func PutBucketLogging(cli bce.Client, bucket string, logging *bce.Body, ctx *BosContext) error

PutBucketLogging - set the logging prefix of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • logging: the logging prefix json string body

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketMirror added in v0.9.147

func PutBucketMirror(cli bce.Client, bucket string, putBucketMirrorArgs *PutBucketMirrorArgs, ctx *BosContext) error

func PutBucketNotification

func PutBucketNotification(cli bce.Client, bucket string, putBucketNotificationReq PutBucketNotificationReq, ctx *BosContext) error

func PutBucketReplication

func PutBucketReplication(cli bce.Client, bucket string, replicationConf *bce.Body, replicationRuleId string, ctx *BosContext) error

PutBucketReplication - set the bucket replication of different region

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • replicationConf: the replication config body stream
  • replicationRuleId: the replication rule id composed of [0-9 A-Z a-z _ -]

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketStaticWebsite

func PutBucketStaticWebsite(cli bce.Client, bucket string, confBody *bce.Body, ctx *BosContext) error

PutBucketStaticWebsite - set the bucket static website config

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • confBody: the static website config body stream

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketStorageclass

func PutBucketStorageclass(cli bce.Client, bucket, storageClass string, ctx *BosContext) error

PutBucketStorageclass - set the storage class of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • storageClass: the storage class string

RETURNS:

  • error: nil if success otherwise the specific error

func PutBucketTag added in v0.9.154

func PutBucketTag(cli bce.Client, bucket string, putBucketTagArgs *PutBucketTagArgs, ctx *BosContext) error

func PutBucketTrash

func PutBucketTrash(cli bce.Client, bucket string, trashReq PutBucketTrashReq, ctx *BosContext) error

PutBucketTrash - put the trash setting of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • trashDir: the trash dir name

RETURNS:

  • error: nil if success otherwise the specific error

func PutObjectAcl

func PutObjectAcl(cli bce.Client, bucket, object, cannedAcl string,
	grantRead, grantFullControl []string, aclBody *bce.Body, ctx *BosContext) error

PutObjectAcl - set the ACL of the given object

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • object: the object name
  • cannedAcl: support private and public-read
  • grantRead: user id list
  • grantFullControl: user id list
  • aclBody: the acl file body

RETURNS:

  • error: nil if success otherwise the specific error
func PutObjectSymlink(cli bce.Client, bucket string, object string, symlinkKey string, symlinkArgs *PutSymlinkArgs, ctx *BosContext) error

PutObjectSymlink - put the object from the string or the stream

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object
  • object: the name of the object
  • symlinkKey: the name of the symlink
  • symlinkArgs: the optional arguments of this api

RETURNS:

  • error: nil if ok otherwise the specific error

func PutObjectTag added in v0.9.172

func PutObjectTag(cli bce.Client, bucket, object string, putObjectTagArgs *PutObjectTagArgs, ctx *BosContext) error

func RestoreObject

func RestoreObject(cli bce.Client, bucket string, object string, args ArchiveRestoreArgs, ctx *BosContext) error

RestoreObject - restore the archive object

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • object: the object name
  • args: the restore args

RETURNS:

  • error: nil if success otherwise the specific error

func SendRequest added in v0.9.10

func SendRequest(cli bce.Client, req *bce.BceRequest, resp *bce.BceResponse, ctx *BosContext) error

func SendRequestFromBytes added in v0.9.191

func SendRequestFromBytes(cli bce.Client, req *bce.BceRequest, resp *bce.BceResponse, ctx *BosContext, content []byte) error

func UploadPart

func UploadPart(cli bce.Client, bucket, object, uploadId string, partNumber int,
	content *bce.Body, args *UploadPartArgs, ctx *BosContext) (string, error)

UploadPart - upload the single part in the multipart upload process

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • object: the object name
  • uploadId: the multipart upload id
  • partNumber: the current part number
  • content: the uploaded part content
  • args: the optional arguments

RETURNS:

  • string: the etag of the uploaded part
  • error: nil if ok otherwise the specific error

func UploadPartFromBytes added in v0.9.18

func UploadPartFromBytes(cli bce.Client, bucket, object, uploadId string, partNumber int,
	content []byte, args *UploadPartArgs, ctx *BosContext) (string, error)

UploadPartFromBytes - upload the single part in the multipart upload process

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • object: the object name
  • uploadId: the multipart upload id
  • partNumber: the current part number
  • content: the uploaded part content
  • args: the optional arguments

RETURNS:

  • string: the etag of the uploaded part
  • error: nil if ok otherwise the specific error

Types

type AclCondType

type AclCondType struct {
	IpAddress []string       `json:"ipAddress"`
	Referer   AclRefererType `json:"referer"`
}

type AclOwnerType

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

AclOwnerType defines the owner struct in ACL setting

type AclRefererType

type AclRefererType struct {
	StringLike   []string `json:"stringLike"`
	StringEquals []string `json:"stringEquals"`
}

type AppendObjectArgs

type AppendObjectArgs struct {
	Offset             int64
	CacheControl       string
	ContentDisposition string
	ContentMD5         string
	ContentType        string
	Expires            string
	UserMeta           map[string]string
	ContentSha256      string
	ContentCrc32       string
	StorageClass       string
	TrafficLimit       int64
}

AppendObjectArgs defines the optional arguments structure for appending object.

type AppendObjectResult

type AppendObjectResult struct {
	ContentMD5       string
	NextAppendOffset int64
	ContentCrc32     string
	ETag             string
}

AppendObjectResult defines the result data structure for appending object.

func AppendObject

func AppendObject(cli bce.Client, bucket, object string, content *bce.Body,
	args *AppendObjectArgs, ctx *BosContext) (*AppendObjectResult, error)

AppendObject - append the given content to a new or existed object which is appendable

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object
  • object: the name of the object
  • content: the content to be appended
  • args: the optional arguments to perform the append operation

RETURNS:

  • *AppendObjectResult: the result status for this api
  • error: nil if ok otherwise the specific error

type ArchiveRestoreArgs

type ArchiveRestoreArgs struct {
	RestoreTier string
	RestoreDays int
}

type BosContext added in v0.9.168

type BosContext struct {
	Bucket          string
	PathStyleEnable bool
}

type BucketCORSType

type BucketCORSType struct {
	AllowedOrigins       []string `json:"allowedOrigins"`
	AllowedMethods       []string `json:"allowedMethods"`
	AllowedHeaders       []string `json:"allowedHeaders,omitempty"`
	AllowedExposeHeaders []string `json:"allowedExposeHeaders,omitempty"`
	MaxAgeSeconds        int64    `json:"maxAgeSeconds,omitempty"`
}

type BucketEncryptionType

type BucketEncryptionType struct {
	EncryptionAlgorithm string `json:"encryptionAlgorithm"`
}

BucketEncryptionType defines the data structure for Put and Get of bucket encryption

type BucketReplicationDescriptor

type BucketReplicationDescriptor struct {
	Bucket       string `json:"bucket,omitempty"`
	StorageClass string `json:"storageClass,omitempty"`
	Prefix       string `json:"prefix,omitempty"`
}

BucketReplicationDescriptor defines the description data structure

type BucketReplicationType

type BucketReplicationType struct {
	Id                 string                       `json:"id"`
	Status             string                       `json:"status"`
	Resource           []string                     `json:"resource"`
	NotIncludeResource []string                     `json:"notIncludeResource,omitempty"`
	ReplicateDeletes   string                       `json:"replicateDeletes"`
	Destination        *BucketReplicationDescriptor `json:"destination,omitempty"`
	ReplicateHistory   *BucketReplicationDescriptor `json:"replicateHistory,omitempty"`
	CreateTime         int64                        `json:"createTime"`
	DestRegion         string                       `json:"destRegion"`
}

BucketReplicationType defines the data structure for Put and Get of bucket replication

type BucketStaticWebsiteType

type BucketStaticWebsiteType struct {
	Index    string `json:"index"`
	NotFound string `json:"notFound"`
}

BucketStaticWebsiteType defines the data structure for Put and Get of bucket static website

type BucketSummaryType

type BucketSummaryType struct {
	Name         string `json:"name"`
	Location     string `json:"location"`
	CreationDate string `json:"creationDate"`
}

type BucketTag added in v0.9.180

type BucketTag struct {
	TagKey   string `json:"tag_key"`
	TagValue string `json:"tag_value"`
}

type CallbackResult added in v0.9.175

type CallbackResult struct {
	Result string `json:"result"`
}

type CommonMessage

type CommonMessage struct {
	Prelude
	Headers map[string]string // message-type/content-type……
	Crc32   uint32            // crc32 of RecordsMessage
}

selectObject response msg

type CompleteMultipartUploadArgs

type CompleteMultipartUploadArgs struct {
	Parts        []UploadInfoType  `json:"parts"`
	UserMeta     map[string]string `json:"-"`
	Process      string            `json:"-"`
	ContentCrc32 string            `json:"-"`
}

CompleteMultipartUploadArgs defines the input arguments structure of CompleteMultipartUpload.

type CompleteMultipartUploadResult

type CompleteMultipartUploadResult struct {
	Location     string `json:"location"`
	Bucket       string `json:"bucket"`
	Key          string `json:"key"`
	ETag         string `json:"eTag"`
	ContentCrc32 string `json:"-"`
}

CompleteMultipartUploadResult defines the result structure of CompleteMultipartUpload.

func CompleteMultipartUpload

func CompleteMultipartUpload(cli bce.Client, bucket, object, uploadId string,
	body *bce.Body, args *CompleteMultipartUploadArgs, ctx *BosContext) (*CompleteMultipartUploadResult, error)

CompleteMultipartUpload - finish a multipart upload operation

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the destination bucket name
  • object: the destination object name
  • uploadId: the multipart upload id
  • parts: all parts info stream
  • meta: user defined meta data

RETURNS:

  • *CompleteMultipartUploadResult: the result data
  • error: nil if ok otherwise the specific error

type ContinuationMessage

type ContinuationMessage struct {
	CommonMessage
	BytesScanned  uint64
	BytesReturned uint64
}

type CopyObjectArgs

type CopyObjectArgs struct {
	ObjectMeta
	MetadataDirective string
	IfMatch           string
	IfNoneMatch       string
	IfModifiedSince   string
	IfUnmodifiedSince string
	TrafficLimit      int64
	CannedAcl         string
	TaggingDirective  string
}

CopyObjectArgs defines the optional args structure for the copy object api.

type CopyObjectResult

type CopyObjectResult struct {
	LastModified string `json:"lastModified"`
	ETag         string `json:"eTag"`
}

CopyObjectResult defines the result json structure for the copy object api.

func CopyObject

func CopyObject(cli bce.Client, bucket, object, source string,
	args *CopyObjectArgs, ctx *BosContext) (*CopyObjectResult, error)

CopyObject - copy one object to a new object with new bucket and/or name. It can alse set the metadata of the object with the same source and target.

PARAMS:

  • cli: the client object which can perform sending request
  • bucket: the bucket name of the target object
  • object: the name of the target object
  • source: the source object uri
  • *CopyObjectArgs: the optional input args for copying object

RETURNS:

  • *CopyObjectResult: the result object which contains etag and lastmodified
  • error: nil if ok otherwise the specific error

func UploadPartCopy

func UploadPartCopy(cli bce.Client, bucket, object, source, uploadId string, partNumber int,
	args *UploadPartCopyArgs, ctx *BosContext) (*CopyObjectResult, error)

UploadPartCopy - copy the multipart data

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the destination bucket name
  • object: the destination object name
  • source: the copy source uri
  • uploadId: the multipart upload id
  • partNumber: the current part number
  • args: the optional arguments

RETURNS:

  • *CopyObjectResult: the lastModified and eTag of the part
  • error: nil if ok otherwise the specific error

type CopyrightProtectionType

type CopyrightProtectionType struct {
	Resource []string `json:"resource"`
}

CopyrightProtectionType defines the data structure for Put and Get copyright protection API

type DeleteMultipleObjectsArgs

type DeleteMultipleObjectsArgs struct {
	Objects []DeleteObjectArgs `json:"objects"`
}

DeleteMultipleObjectsResult defines the input args structure for deleting multiple objects.

type DeleteMultipleObjectsResult

type DeleteMultipleObjectsResult struct {
	Errors []DeleteObjectResult `json:"errors"`
}

DeleteMultipleObjectsResult defines the result structure for deleting multiple objects.

func DeleteMultipleObjects

func DeleteMultipleObjects(cli bce.Client, bucket string,
	objectListStream *bce.Body, ctx *BosContext) (*DeleteMultipleObjectsResult, error)

DeleteMultipleObjects - delete the given objects within a single http request

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the objects to be deleted
  • objectListStream: the objects list to be delete with json format

RETURNS:

  • *DeleteMultipleObjectsResult: the objects failed to delete
  • error: nil if ok otherwise the specific error

type DeleteObjectArgs

type DeleteObjectArgs struct {
	Key string `json:"key"`
}

DeleteObjectArgs defines the input args structure for a single object.

type DeleteObjectResult

type DeleteObjectResult struct {
	Key     string `json:"key"`
	Code    string `json:"code"`
	Message string `json:"message"`
}

DeleteObjectResult defines the result structure for deleting a single object.

type EndMessage

type EndMessage struct {
	CommonMessage
}

type FetchObjectArgs

type FetchObjectArgs struct {
	FetchMode            string
	StorageClass         string
	FetchCallBackAddress string
}

FetchObjectArgs defines the optional arguments structure for the fetch object api.

type FetchObjectResult

type FetchObjectResult struct {
	Code      string `json:"code"`
	Message   string `json:"message"`
	RequestId string `json:"requestId"`
	JobId     string `json:"jobId"`
}

FetchObjectResult defines the result json structure for the fetch object api.

func FetchObject

func FetchObject(cli bce.Client, bucket, object, source string,
	args *FetchObjectArgs, ctx *BosContext) (*FetchObjectResult, error)

FetchObject - fetch the object by the given url and store it to a bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name to store the object
  • object: the name of the object to be stored
  • source: the source url to fetch
  • args: the optional arguments to perform the fetch operation

RETURNS:

  • *FetchObjectArgs: the result of this api
  • error: nil if ok otherwise the specific error

type GetBucketAclResult

type GetBucketAclResult struct {
	AccessControlList []GrantType  `json:"accessControlList"`
	Owner             AclOwnerType `json:"owner"`
}

GetBucketAclResult defines the result structure of getting bucket acl.

func GetBucketAcl

func GetBucketAcl(cli bce.Client, bucket string, ctx *BosContext) (*GetBucketAclResult, error)

GetBucketAcl - get the acl of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • *GetBucketAclResult: the result of the bucket acl
  • error: nil if success otherwise the specific error

type GetBucketCorsResult

type GetBucketCorsResult struct {
	CorsConfiguration []BucketCORSType `json:"corsConfiguration"`
}

GetBucketCorsResult defines the data structure of getting bucket CORS result

func GetBucketCors

func GetBucketCors(cli bce.Client, bucket string, ctx *BosContext) (
	*GetBucketCorsResult, error)

GetBucketCors - get the CORS config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • result: the bucket CORS config result object
  • error: nil if success otherwise the specific error

type GetBucketLifecycleResult

type GetBucketLifecycleResult struct {
	Rule []LifecycleRuleType `json:"rule"`
}

GetBucketLifecycleResult defines the lifecycle result structure for getting

func GetBucketLifecycle

func GetBucketLifecycle(cli bce.Client, bucket string, ctx *BosContext) (*GetBucketLifecycleResult, error)

GetBucketLifecycle - get the lifecycle rule of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • *GetBucketLifecycleResult: the lifecycle rule of the bucket
  • error: nil if success otherwise the specific error

type GetBucketLoggingResult

type GetBucketLoggingResult struct {
	Status       string `json:"status"`
	TargetBucket string `json:"targetBucket,omitempty"`
	TargetPrefix string `json:"targetPrefix,omitempty"`
}

GetBucketLoggingResult defines the result structure for getting bucket logging.

func GetBucketLogging

func GetBucketLogging(cli bce.Client, bucket string, ctx *BosContext) (*GetBucketLoggingResult, error)

GetBucketLogging - get the logging config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • *GetBucketLoggingResult: the logging setting of the bucket
  • error: nil if success otherwise the specific error

type GetBucketReplicationProgressResult

type GetBucketReplicationProgressResult struct {
	Status                    string  `json:"status"`
	HistoryReplicationPercent float64 `json:"historyReplicationPercent"`
	LatestReplicationTime     string  `json:"latestReplicationTime"`
}

GetBucketReplicationProgressResult defines output result for replication process

func GetBucketReplicationProgress

func GetBucketReplicationProgress(cli bce.Client, bucket string, replicationRuleId string, ctx *BosContext) (
	*GetBucketReplicationProgressResult, error)

GetBucketReplicationProgress - get the bucket replication process of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • replicationRuleId: the replication rule id composed of [0-9 A-Z a-z _ -]

RETURNS:

  • *GetBucketReplicationProgressResult: the result of the bucket replication process
  • error: nil if success otherwise the specific error

type GetBucketReplicationResult

type GetBucketReplicationResult BucketReplicationType

func GetBucketReplication

func GetBucketReplication(cli bce.Client, bucket string, replicationRuleId string, ctx *BosContext) (*GetBucketReplicationResult, error)

GetBucketReplication - get the bucket replication config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • replicationRuleId: the replication rule id composed of [0-9 A-Z a-z _ -]

RETURNS:

  • *GetBucketReplicationResult: the result of the bucket replication config
  • error: nil if success otherwise the specific error

type GetBucketStaticWebsiteResult

type GetBucketStaticWebsiteResult BucketStaticWebsiteType

func GetBucketStaticWebsite

func GetBucketStaticWebsite(cli bce.Client, bucket string, ctx *BosContext) (
	*GetBucketStaticWebsiteResult, error)

GetBucketStaticWebsite - get the static website config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • result: the bucket static website config result object
  • error: nil if success otherwise the specific error

type GetBucketTagResult added in v0.9.180

type GetBucketTagResult struct {
	Tags []BucketTag `json:"tag"`
}

func GetBucketTag added in v0.9.154

func GetBucketTag(cli bce.Client, bucket string, ctx *BosContext) (*GetBucketTagResult, error)

type GetBucketTrashResult

type GetBucketTrashResult struct {
	TrashDir string `json:"trashDir"`
}

func GetBucketTrash

func GetBucketTrash(cli bce.Client, bucket string, ctx *BosContext) (*GetBucketTrashResult, error)

type GetObjectAclResult

type GetObjectAclResult ObjectAclType

func GetObjectAcl

func GetObjectAcl(cli bce.Client, bucket, object string, ctx *BosContext) (*GetObjectAclResult, error)

GetObjectAcl - get the ACL of the given object

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • object: the object name

RETURNS:

  • result: the object acl result object
  • error: nil if success otherwise the specific error

type GetObjectMetaResult

type GetObjectMetaResult struct {
	ObjectMeta
}

GetObjectMetaResult defines the result data of the get object meta api.

func GetObjectMeta

func GetObjectMeta(cli bce.Client, bucket, object string, ctx *BosContext) (*GetObjectMetaResult, error)

GetObjectMeta - get the meta data of the given object

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object
  • object: the name of the object

RETURNS:

  • *GetObjectMetaResult: the result of this api
  • error: nil if ok otherwise the specific error

type GetObjectResult

type GetObjectResult struct {
	ObjectMeta
	ContentLanguage string
	Body            io.ReadCloser
}

GetObjectResult defines the result data of the get object api.

func GetObject

func GetObject(cli bce.Client, bucket, object string, ctx *BosContext, args map[string]string,
	ranges ...int64) (*GetObjectResult, error)

GetObject - get the object content with range and response-headers-specified support

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object
  • object: the name of the object
  • args: the optional args in querysring
  • ranges: the optional range start and end to get the given object

RETURNS:

  • *GetObjectResult: the output content result of the object
  • error: nil if ok otherwise the specific error

type GrantType

type GrantType struct {
	Grantee     []GranteeType `json:"grantee"`
	Permission  []string      `json:"permission"`
	Resource    []string      `json:"resource,omitempty"`
	NotResource []string      `json:"notResource,omitempty"`
	Condition   AclCondType   `json:"condition,omitempty"`
	Effect      string        `json:"effect,omitempty"`
}

GrantType defines the grant struct in ACL setting

type GranteeType

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

GranteeType defines the grantee struct in ACL setting

type HeaderPair added in v0.9.147

type HeaderPair struct {
	HeaderName  string `json:"headerName"`
	HeaderValue string `json:"headerValue"`
}

type InitiateMultipartUploadArgs

type InitiateMultipartUploadArgs struct {
	CacheControl       string
	ContentDisposition string
	Expires            string
	StorageClass       string
	ObjectTagging      string
	TaggingDirective   string
}

InitiateMultipartUploadArgs defines the input arguments to initiate a multipart upload.

type InitiateMultipartUploadResult

type InitiateMultipartUploadResult struct {
	Bucket   string `json:"bucket"`
	Key      string `json:"key"`
	UploadId string `json:"uploadId"`
}

InitiateMultipartUploadResult defines the result structure to initiate a multipart upload.

func InitiateMultipartUpload

func InitiateMultipartUpload(cli bce.Client, bucket, object, contentType string,
	args *InitiateMultipartUploadArgs, ctx *BosContext) (*InitiateMultipartUploadResult, error)

InitiateMultipartUpload - initiate a multipart upload to get a upload ID

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • object: the object name
  • contentType: the content type of the object to be uploaded which should be specified, otherwise use the default(application/octet-stream)
  • args: the optional arguments

RETURNS:

  • *InitiateMultipartUploadResult: the result data structure
  • error: nil if ok otherwise the specific error

type LifecycleActionType

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

LifecycleActionType defines the structure of lifecycle action

type LifecycleConditionTimeType

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

LifecycleConditionTimeType defines the structure of time condition

type LifecycleConditionType

type LifecycleConditionType struct {
	Time LifecycleConditionTimeType `json:"time"`
}

LifecycleConditionType defines the structure of condition

type LifecycleRuleType

type LifecycleRuleType struct {
	Id        string                 `json:"id"`
	Status    string                 `json:"status"`
	Resource  []string               `json:"resource"`
	Condition LifecycleConditionType `json:"condition"`
	Action    LifecycleActionType    `json:"action"`
}

LifecycleRuleType defines the structure of a single lifecycle rule

type ListBucketReplicationResult added in v0.9.16

type ListBucketReplicationResult struct {
	Rules []BucketReplicationType `json:"rules"`
}

ListBucketReplicationResult defines output result for replication conf list

func ListBucketReplication added in v0.9.16

func ListBucketReplication(cli bce.Client, bucket string, ctx *BosContext) (*ListBucketReplicationResult, error)

ListBucketReplication - list all replication config of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name

RETURNS:

  • error: nil if success otherwise the specific error

type ListBucketsResult

type ListBucketsResult struct {
	Owner   OwnerType           `json:"owner"`
	Buckets []BucketSummaryType `json:"buckets"`
}

ListBucketsResult defines the result structure of ListBuckets api.

func ListBuckets

func ListBuckets(cli bce.Client, ctx *BosContext) (*ListBucketsResult, error)

ListBuckets - list all buckets of the account

PARAMS:

  • cli: the client agent which can perform sending request

RETURNS:

  • *ListBucketsResult: the result bucket list structure
  • error: nil if ok otherwise the specific error

type ListMultipartUploadsArgs

type ListMultipartUploadsArgs struct {
	Delimiter  string
	KeyMarker  string
	MaxUploads int
	Prefix     string
}

ListMultipartUploadsArgs defines the optional arguments for ListMultipartUploads.

type ListMultipartUploadsResult

type ListMultipartUploadsResult struct {
	Bucket         string                     `json:"bucket"`
	CommonPrefixes []PrefixType               `json:"commonPrefixes"`
	Delimiter      string                     `json:"delimiter"`
	Prefix         string                     `json:"prefix"`
	IsTruncated    bool                       `json:"isTruncated"`
	KeyMarker      string                     `json:"keyMarker"`
	MaxUploads     int                        `json:"maxUploads"`
	NextKeyMarker  string                     `json:"nextKeyMarker"`
	Uploads        []ListMultipartUploadsType `json:"uploads"`
}

ListMultipartUploadsResult defines the multipart uploads result structure.

func ListMultipartUploads

func ListMultipartUploads(cli bce.Client, bucket string,
	args *ListMultipartUploadsArgs, ctx *BosContext) (*ListMultipartUploadsResult, error)

ListMultipartUploads - list the unfinished uploaded parts of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the destination bucket name
  • args: the optional arguments

RETURNS:

  • *ListMultipartUploadsResult: the unfinished uploaded parts info result
  • error: nil if ok otherwise the specific error

type ListMultipartUploadsType

type ListMultipartUploadsType struct {
	Key          string    `json:"key"`
	UploadId     string    `json:"uploadId"`
	Owner        OwnerType `json:"owner"`
	Initiated    string    `json:"initiated"`
	StorageClass string    `json:"storageClass,omitempty"`
}

type ListObjectsArgs

type ListObjectsArgs struct {
	Delimiter string `json:"delimiter"`
	Marker    string `json:"marker"`
	MaxKeys   int    `json:"maxKeys"`
	Prefix    string `json:"prefix"`
}

ListObjectsArgs defines the optional arguments for ListObjects api.

type ListObjectsResult

type ListObjectsResult struct {
	Name           string              `json:"name"`
	Prefix         string              `json:"prefix"`
	Delimiter      string              `json:"delimiter"`
	Marker         string              `json:"marker"`
	NextMarker     string              `json:"nextMarker,omitempty"`
	MaxKeys        int                 `json:"maxKeys"`
	IsTruncated    bool                `json:"isTruncated"`
	Contents       []ObjectSummaryType `json:"contents"`
	CommonPrefixes []PrefixType        `json:"commonPrefixes"`
}

ListObjectsResult defines the result structure of ListObjects api.

func ListObjects

func ListObjects(cli bce.Client, bucket string,
	args *ListObjectsArgs, ctx *BosContext) (*ListObjectsResult, error)

ListObjects - list all objects of the given bucket

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name
  • args: the optional arguments to list objects

RETURNS:

  • *ListObjectsResult: the result object list structure
  • error: nil if ok otherwise the specific error

type ListPartType

type ListPartType struct {
	PartNumber   int    `json:"partNumber"`
	LastModified string `json:"lastModified"`
	ETag         string `json:"eTag"`
	Size         int    `json:"size"`
}

type ListPartsArgs

type ListPartsArgs struct {
	MaxParts         int
	PartNumberMarker string
}

ListPartsArgs defines the input optional arguments of listing parts information.

type ListPartsResult

type ListPartsResult struct {
	Bucket               string         `json:"bucket"`
	Key                  string         `json:"key"`
	UploadId             string         `json:"uploadId"`
	Initiated            string         `json:"initiated"`
	Owner                OwnerType      `json:"owner"`
	StorageClass         string         `json:"storageClass"`
	PartNumberMarker     int            `json:"partNumberMarker"`
	NextPartNumberMarker int            `json:"nextPartNumberMarker"`
	MaxParts             int            `json:"maxParts"`
	IsTruncated          bool           `json:"isTruncated"`
	Parts                []ListPartType `json:"parts"`
}

ListPartsResult defines the parts info result from ListParts.

func ListParts

func ListParts(cli bce.Client, bucket, object, uploadId string,
	args *ListPartsArgs, ctx *BosContext) (*ListPartsResult, error)

ListParts - list the successfully uploaded parts info by upload id

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the destination bucket name
  • object: the destination object name
  • uploadId: the multipart upload id
  • args: the optional arguments partNumberMarker: return parts after this marker maxParts: the max number of return parts, default and maximum is 1000

RETURNS:

  • *ListPartsResult: the uploaded parts info result
  • error: nil if ok otherwise the specific error

type LocationType

type LocationType struct {
	LocationConstraint string `json:"locationConstraint"`
}

type MirrorConfigurationRule added in v0.9.147

type MirrorConfigurationRule struct {
	Prefix          string       `json:"prefix,omitempty"`
	SourceUrl       string       `json:"sourceUrl"`
	PassQueryString bool         `json:"passQuerystring"`
	Mode            string       `json:"mode"`
	StorageClass    string       `json:"storageClass"`
	PassHeaders     []string     `json:"passHeaders"`
	IgnoreHeaders   []string     `json:"ignoreHeaders"`
	CustomHeaders   []HeaderPair `json:"customHeaders"`
	BackSourceUrl   string       `json:"backSourceUrl"`
	Resource        string       `json:"resource"`
	Suffix          string       `json:"suffix"`
	FixedKey        string       `json:"fixedKey"`
	PrefixReplace   string       `json:"prefixReplace"`
	Version         string       `json:"version"`
}

type MultiCopyObjectArgs

type MultiCopyObjectArgs struct {
	StorageClass     string
	ObjectTagging    string
	TaggingDirective string
}

type ObjectAclType

type ObjectAclType struct {
	AccessControlList []GrantType `json:"accessControlList"`
}

ObjectAclType defines the data structure for Put and Get object acl API

type ObjectMeta

type ObjectMeta struct {
	CacheControl       string
	ContentDisposition string
	ContentEncoding    string
	ContentLength      int64
	ContentRange       string
	ContentType        string
	ContentMD5         string
	ContentSha256      string
	ContentCrc32       string
	Expires            string
	LastModified       string
	ETag               string
	UserMeta           map[string]string
	StorageClass       string
	NextAppendOffset   string
	ObjectType         string
	BceRestore         string
	BceObjectType      string
}

type ObjectSummaryType

type ObjectSummaryType struct {
	Key          string    `json:"key"`
	LastModified string    `json:"lastModified"`
	ETag         string    `json:"eTag"`
	Size         int       `json:"size"`
	StorageClass string    `json:"storageClass"`
	Owner        OwnerType `json:"owner"`
}

type ObjectTag added in v0.9.172

type ObjectTag struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type ObjectTags added in v0.9.172

type ObjectTags struct {
	TagInfo []ObjectTag `json:"tagInfo"`
}

type OwnerType

type OwnerType struct {
	Id          string `json:"id"`
	DisplayName string `json:"displayName"`
}

type PrefixType

type PrefixType struct {
	Prefix string `json:"prefix"`
}

type Prelude

type Prelude struct {
	TotalLen   uint32
	HeadersLen uint32
}

type PutBucketAclArgs

type PutBucketAclArgs struct {
	AccessControlList []GrantType `json:"accessControlList"`
}

PutBucketAclArgs defines the input args structure for putting bucket acl.

type PutBucketArgs added in v0.9.173

type PutBucketArgs struct {
	TagList string
}

type PutBucketCorsArgs

type PutBucketCorsArgs struct {
	CorsConfiguration []BucketCORSType `json:"corsConfiguration"`
}

PutBucketCorsArgs defines the request argument for bucket CORS setting

type PutBucketLifecycleArgs

type PutBucketLifecycleArgs struct {
	Rule []LifecycleRuleType `json:"rule"`
}

GetBucketLifecycleResult defines the lifecycle argument structure for putting

type PutBucketLoggingArgs

type PutBucketLoggingArgs struct {
	TargetBucket string `json:"targetBucket"`
	TargetPrefix string `json:"targetPrefix"`
}

PutBucketLoggingArgs defines the input args structure for putting bucket logging.

type PutBucketMirrorArgs added in v0.9.147

type PutBucketMirrorArgs struct {
	BucketMirroringConfiguration []MirrorConfigurationRule `json:"bucketMirroringConfiguration"`
}

func GetBucketMirror added in v0.9.147

func GetBucketMirror(cli bce.Client, bucket string, ctx *BosContext) (*PutBucketMirrorArgs, error)

type PutBucketNotificationAppsSt

type PutBucketNotificationAppsSt struct {
	Id       string `json:"id"`
	EventUrl string `json:"eventUrl"`
	XVars    string `json:"xVars"`
}

type PutBucketNotificationReq

type PutBucketNotificationReq struct {
	Notifications []PutBucketNotificationSt `json:"notifications"`
}

func GetBucketNotification

func GetBucketNotification(cli bce.Client, bucket string, ctx *BosContext) (*PutBucketNotificationReq, error)

type PutBucketNotificationSt

type PutBucketNotificationSt struct {
	Id        string                        `json:"id"`
	Name      string                        `json:"name"`
	AppId     string                        `json:"appId"`
	Status    string                        `json:"status"`
	Resources []string                      `json:"resources"`
	Events    []string                      `json:"events"`
	Apps      []PutBucketNotificationAppsSt `json:"apps"`
}

type PutBucketReplicationArgs

type PutBucketReplicationArgs BucketReplicationType

type PutBucketStaticWebsiteArgs

type PutBucketStaticWebsiteArgs BucketStaticWebsiteType

type PutBucketTagArgs added in v0.9.156

type PutBucketTagArgs struct {
	Tags []Tag `json:"tags"`
}

type PutBucketTrashReq

type PutBucketTrashReq struct {
	TrashDir string `json:"trashDir"`
}

type PutObjectAclArgs

type PutObjectAclArgs ObjectAclType

type PutObjectArgs

type PutObjectArgs struct {
	CacheControl       string
	ContentDisposition string
	ContentMD5         string
	ContentType        string
	ContentLength      int64
	Expires            string
	UserMeta           map[string]string
	ContentSha256      string
	ContentCrc32       string
	StorageClass       string
	Process            string
	CannedAcl          string
	ObjectTagging      string
	TrafficLimit       int64
}

PutObjectArgs defines the optional args structure for the put object api.

type PutObjectResult added in v0.9.175

type PutObjectResult struct {
	Callback CallbackResult `json:"callback"`
}

func PutObject

func PutObject(cli bce.Client, bucket, object string, body *bce.Body,
	args *PutObjectArgs, ctx *BosContext) (string, *PutObjectResult, error)

PutObject - put the object from the string or the stream

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object
  • object: the name of the object
  • body: the input content of the object
  • args: the optional arguments of this api

RETURNS:

  • string: the etag of the object
  • error: nil if ok otherwise the specific error

type PutObjectTagArgs added in v0.9.172

type PutObjectTagArgs struct {
	ObjectTags []ObjectTags `json:"tagSet"`
}

type PutSymlinkArgs added in v0.9.18

type PutSymlinkArgs struct {
	ForbidOverwrite string
	StorageClass    string
	UserMeta        map[string]string
	SymlinkBucket   string
}

type RecordsMessage

type RecordsMessage struct {
	CommonMessage
	Records []string // csv/json seleted data, one or more records
}

type SelectObjectArgs

type SelectObjectArgs struct {
	SelectType    string               `json:"-"`
	SelectRequest *SelectObjectRequest `json:"selectRequest"`
}

selectObject request args

type SelectObjectInput

type SelectObjectInput struct {
	CompressionType string            `json:"compressionType"`
	CsvParams       map[string]string `json:"csv"`
	JsonParams      map[string]string `json:"json"`
}

type SelectObjectOutput

type SelectObjectOutput struct {
	OutputHeader bool              `json:"outputHeader"`
	CsvParams    map[string]string `json:"csv"`
	JsonParams   map[string]string `json:"json"`
}

type SelectObjectProgress

type SelectObjectProgress struct {
	Enabled bool `json:"enabled"`
}

type SelectObjectRequest

type SelectObjectRequest struct {
	Expression          string                `json:"expression"`
	ExpressionType      string                `json:"expressionType"` // SQL
	InputSerialization  *SelectObjectInput    `json:"inputSerialization"`
	OutputSerialization *SelectObjectOutput   `json:"outputSerialization"`
	RequestProgress     *SelectObjectProgress `json:"requestProgress"`
}

type SelectObjectResult

type SelectObjectResult struct {
	Body io.ReadCloser
}

SelectObjectResult defines the result data of the select object api.

func SelectObject

func SelectObject(cli bce.Client, bucket, object string, args *SelectObjectArgs, ctx *BosContext) (*SelectObjectResult, error)

SelectObject - select the object content

PARAMS:

  • cli: the client agent which can perform sending request
  • bucket: the bucket name of the object
  • object: the name of the object
  • args: the optional arguments to perform the select operation

RETURNS:

  • *SelectObjectResult: the output select content result of the object
  • error: nil if ok otherwise the specific error

type StorageClassType

type StorageClassType struct {
	StorageClass string `json:"storageClass"`
}

type Tag added in v0.9.154

type Tag struct {
	TagKey   string `json:"tagKey"`
	TagValue string `json:"tagValue"`
}

type UploadInfoType

type UploadInfoType struct {
	PartNumber int    `json:"partNumber"`
	ETag       string `json:"eTag"`
}

UploadInfoType defines an uploaded part info structure.

type UploadPartArgs

type UploadPartArgs struct {
	ContentMD5    string
	ContentSha256 string
	ContentCrc32  string
	TrafficLimit  int64
}

UploadPartArgs defines the optinoal argumets for uploading part.

type UploadPartCopyArgs

type UploadPartCopyArgs struct {
	SourceRange       string
	IfMatch           string
	IfNoneMatch       string
	IfModifiedSince   string
	IfUnmodifiedSince string
	TrafficLimit      int64
}

UploadPartCopyArgs defines the optional arguments of UploadPartCopy.

Jump to

Keyboard shortcuts

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