qingstor

package module
v2.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2021 License: Apache-2.0 Imports: 24 Imported by: 2

README

go-services-qingstor

Build Status License go-service-qingstor

QingStor Object Storage services support for go-storage

Install

go get github.com/aos-dev/go-service-qingstor/v2

Documentation

Overview

Package qingstor provided support for qingstor object storage (https://www.qingcloud.com/products/qingstor/)

Code generated by go generate via internal/cmd/service; DO NOT EDIT.

Index

Examples

Constants

View Source
const (
	StorageClassStandard   = "STANDARD"
	StorageClassStandardIA = "STANDARD_IA"
)

All available storage classes are listed here.

View Source
const (
	SseCustomerAlgorithmAes256 = "AES256"
)

All available SSE customer algorithms are listed here.

View Source
const Type = "qingstor"

Type is the type for qingstor

Variables

View Source
var (
	// ErrInvalidBucketName will be returned while bucket name is invalid.
	ErrInvalidBucketName = errors.New("invalid bucket name")

	// ErrInvalidWorkDir will be returned while work dir is invalid.
	// Work dir must start and end with only one '/'
	ErrInvalidWorkDir = errors.New("invalid work dir")

	// ErrInvalidEncryptionCustomerKey will be returned while encryption customer key is invalid.
	// Encryption key must be a 32-byte AES-256 key.
	ErrInvalidEncryptionCustomerKey = errors.New("invalid encryption customer key")
)

Functions

func IsBucketNameValid

func IsBucketNameValid(s string) bool

IsBucketNameValid will check whether given string is a valid bucket name.

func New

func New(pairs ...typ.Pair) (typ.Servicer, typ.Storager, error)

New will create both Servicer and Storager.

Example
_, _, err := New(
	pairs.WithCredential(
		credential.NewHmac("test_access_key", "test_secret_key").String(),
	),
)
if err != nil {
	log.Printf("service init failed: %v", err)
}
Output:

func NewServicer

func NewServicer(pairs ...typ.Pair) (typ.Servicer, error)

NewServicer will create Servicer only.

func NewStorager

func NewStorager(pairs ...typ.Pair) (typ.Storager, error)

NewStorager will create Storager only.

func WithCopySourceEncryptionCustomerAlgorithm added in v2.1.0

func WithCopySourceEncryptionCustomerAlgorithm(v string) Pair

WithCopySourceEncryptionCustomerAlgorithm will apply copy_source_encryption_customer_algorithm value to Options CopySourceEncryptionCustomerAlgorithm is the encryption algorithm for the source object. Only AES256 is supported now.

func WithCopySourceEncryptionCustomerKey added in v2.1.0

func WithCopySourceEncryptionCustomerKey(v []byte) Pair

WithCopySourceEncryptionCustomerKey will apply copy_source_encryption_customer_key value to Options CopySourceEncryptionCustomerKey is the customer-provided encryption key for the source object. For AES256 keys, the plaintext must be 32 bytes long.

func WithDefaultServicePairs added in v2.1.0

func WithDefaultServicePairs(v DefaultServicePairs) Pair

WithDefaultServicePairs will apply default_service_pairs value to Options DefaultServicePairs set default pairs for service actions

func WithDefaultStoragePairs added in v2.1.0

func WithDefaultStoragePairs(v DefaultStoragePairs) Pair

WithDefaultStoragePairs will apply default_storage_pairs value to Options DefaultStoragePairs set default pairs for storager actions

func WithDisableURICleaning

func WithDisableURICleaning(v bool) Pair

WithDisableURICleaning will apply disable_uri_cleaning value to Options DisableURICleaning

func WithEncryptionCustomerAlgorithm added in v2.1.0

func WithEncryptionCustomerAlgorithm(v string) Pair

WithEncryptionCustomerAlgorithm will apply encryption_customer_algorithm value to Options EncryptionCustomerAlgorithm specifies the encryption algorithm. Only AES256 is supported now.

func WithEncryptionCustomerKey added in v2.1.0

func WithEncryptionCustomerKey(v []byte) Pair

WithEncryptionCustomerKey will apply encryption_customer_key value to Options EncryptionCustomerKey is the customer-provided encryption key. For AES256 keys, the plaintext must be 32 bytes long.

func WithStorageClass added in v2.1.0

func WithStorageClass(v string) Pair

WithStorageClass will apply storage_class value to Options StorageClass

Types

type DefaultServicePairs added in v2.1.0

type DefaultServicePairs struct {
	Create []Pair
	Delete []Pair
	Get    []Pair
	List   []Pair
}

DefaultServicePairs is default pairs for specific action

type DefaultStoragePairs added in v2.1.0

type DefaultStoragePairs struct {
	CompleteMultipart []Pair
	Copy              []Pair
	Create            []Pair
	CreateMultipart   []Pair
	Delete            []Pair
	Fetch             []Pair
	List              []Pair
	ListMultipart     []Pair
	Metadata          []Pair
	Move              []Pair
	Reach             []Pair
	Read              []Pair
	Stat              []Pair
	Write             []Pair
	WriteMultipart    []Pair
}

DefaultStoragePairs is default pairs for specific action

type ObjectMetadata added in v2.1.0

type ObjectMetadata struct {
	// EncryptionCustomerAlgorithm
	EncryptionCustomerAlgorithm string
	// StorageClass
	StorageClass string
}

ObjectMetadata stores service metadata for object.

func GetObjectMetadata added in v2.1.0

func GetObjectMetadata(o *Object) ObjectMetadata

GetObjectMetadata will get ObjectMetadata from Object.

- This function should not be called by service implementer. - The returning ObjectMetadata is read only and should not be modified.

type Service

type Service struct {
	typ.UnimplementedServicer
	// contains filtered or unexported fields
}

Service is the qingstor service config.

func (*Service) Create

func (s *Service) Create(name string, pairs ...Pair) (store Storager, err error)

Create will create a new storager instance.

This function will create a context by default.

func (*Service) CreateWithContext

func (s *Service) CreateWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)

CreateWithContext will create a new storager instance.

func (*Service) Delete

func (s *Service) Delete(name string, pairs ...Pair) (err error)

Delete will delete a storager instance.

This function will create a context by default.

func (*Service) DeleteWithContext

func (s *Service) DeleteWithContext(ctx context.Context, name string, pairs ...Pair) (err error)

DeleteWithContext will delete a storager instance.

func (*Service) Get

func (s *Service) Get(name string, pairs ...Pair) (store Storager, err error)

Get will get a valid storager instance for service.

This function will create a context by default.

Example
srv, _, err := New(
	pairs.WithCredential(
		credential.NewHmac("test_access_key", "test_secret_key").String(),
	),
)
if err != nil {
	log.Printf("service init failed: %v", err)
}

store, err := srv.Get("bucket_name", pairs.WithLocation("location"))
if err != nil {
	log.Printf("service get bucket failed: %v", err)
}
log.Printf("%v", store)
Output:

func (*Service) GetWithContext

func (s *Service) GetWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)

GetWithContext will get a valid storager instance for service.

func (*Service) List

func (s *Service) List(pairs ...Pair) (sti *StoragerIterator, err error)

List will list all storager instances under this service.

This function will create a context by default.

func (*Service) ListWithContext

func (s *Service) ListWithContext(ctx context.Context, pairs ...Pair) (sti *StoragerIterator, err error)

ListWithContext will list all storager instances under this service.

func (*Service) String

func (s *Service) String() string

String implements Service.String.

type Storage

Storage is the qingstor object storage client.

func (*Storage) CompleteMultipart

func (s *Storage) CompleteMultipart(o *Object, parts []*Part, pairs ...Pair) (err error)

CompleteMultipart will complete a multipart upload and construct an Object.

This function will create a context by default.

func (*Storage) CompleteMultipartWithContext

func (s *Storage) CompleteMultipartWithContext(ctx context.Context, o *Object, parts []*Part, pairs ...Pair) (err error)

CompleteMultipartWithContext will complete a multipart upload and construct an Object.

func (*Storage) Copy

func (s *Storage) Copy(src string, dst string, pairs ...Pair) (err error)

Copy will copy an Object or multiple object in the service.

This function will create a context by default.

func (*Storage) CopyWithContext

func (s *Storage) CopyWithContext(ctx context.Context, src string, dst string, pairs ...Pair) (err error)

CopyWithContext will copy an Object or multiple object in the service.

func (*Storage) Create added in v2.1.0

func (s *Storage) Create(path string, pairs ...Pair) (o *Object)

Create will create a new object without any api call.

This function will create a context by default.

func (*Storage) CreateMultipart

func (s *Storage) CreateMultipart(path string, pairs ...Pair) (o *Object, err error)

CreateMultipart will create a new multipart.

This function will create a context by default.

func (*Storage) CreateMultipartWithContext

func (s *Storage) CreateMultipartWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)

CreateMultipartWithContext will create a new multipart.

func (*Storage) Delete

func (s *Storage) Delete(path string, pairs ...Pair) (err error)

Delete will delete an Object from service.

This function will create a context by default.

func (*Storage) DeleteWithContext

func (s *Storage) DeleteWithContext(ctx context.Context, path string, pairs ...Pair) (err error)

DeleteWithContext will delete an Object from service.

func (*Storage) Fetch

func (s *Storage) Fetch(path string, url string, pairs ...Pair) (err error)

Fetch will fetch from a given url to path.

This function will create a context by default.

func (*Storage) FetchWithContext

func (s *Storage) FetchWithContext(ctx context.Context, path string, url string, pairs ...Pair) (err error)

FetchWithContext will fetch from a given url to path.

func (*Storage) List

func (s *Storage) List(path string, pairs ...Pair) (oi *ObjectIterator, err error)

List will return list a specific path.

This function will create a context by default.

func (*Storage) ListMultipart

func (s *Storage) ListMultipart(o *Object, pairs ...Pair) (pi *PartIterator, err error)

ListMultipart will list parts belong to this multipart.

This function will create a context by default.

func (*Storage) ListMultipartWithContext

func (s *Storage) ListMultipartWithContext(ctx context.Context, o *Object, pairs ...Pair) (pi *PartIterator, err error)

ListMultipartWithContext will list parts belong to this multipart.

func (*Storage) ListWithContext

func (s *Storage) ListWithContext(ctx context.Context, path string, pairs ...Pair) (oi *ObjectIterator, err error)

ListWithContext will return list a specific path.

func (*Storage) Metadata

func (s *Storage) Metadata(pairs ...Pair) (meta *StorageMeta, err error)

Metadata will return current storager metadata.

This function will create a context by default.

func (*Storage) MetadataWithContext

func (s *Storage) MetadataWithContext(ctx context.Context, pairs ...Pair) (meta *StorageMeta, err error)

MetadataWithContext will return current storager metadata.

func (*Storage) Move

func (s *Storage) Move(src string, dst string, pairs ...Pair) (err error)

Move will move an object in the service.

This function will create a context by default.

func (*Storage) MoveWithContext

func (s *Storage) MoveWithContext(ctx context.Context, src string, dst string, pairs ...Pair) (err error)

MoveWithContext will move an object in the service.

func (*Storage) Reach

func (s *Storage) Reach(path string, pairs ...Pair) (url string, err error)

Reach will provide a way, which can reach the object.

This function will create a context by default.

func (*Storage) ReachWithContext

func (s *Storage) ReachWithContext(ctx context.Context, path string, pairs ...Pair) (url string, err error)

ReachWithContext will provide a way, which can reach the object.

func (*Storage) Read

func (s *Storage) Read(path string, w io.Writer, pairs ...Pair) (n int64, err error)

Read will read the file's data.

This function will create a context by default.

func (*Storage) ReadWithContext

func (s *Storage) ReadWithContext(ctx context.Context, path string, w io.Writer, pairs ...Pair) (n int64, err error)

ReadWithContext will read the file's data.

func (*Storage) Stat

func (s *Storage) Stat(path string, pairs ...Pair) (o *Object, err error)

Stat will stat a path to get info of an object.

This function will create a context by default.

func (*Storage) StatWithContext

func (s *Storage) StatWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)

StatWithContext will stat a path to get info of an object.

func (*Storage) String

func (s *Storage) String() string

String implements Storager.String

func (*Storage) Write

func (s *Storage) Write(path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)

Write will write data into a file.

This function will create a context by default.

func (*Storage) WriteMultipart

func (s *Storage) WriteMultipart(o *Object, r io.Reader, size int64, index int, pairs ...Pair) (n int64, err error)

WriteMultipart will write content to a multipart.

This function will create a context by default.

func (*Storage) WriteMultipartWithContext

func (s *Storage) WriteMultipartWithContext(ctx context.Context, o *Object, r io.Reader, size int64, index int, pairs ...Pair) (n int64, err error)

WriteMultipartWithContext will write content to a multipart.

func (*Storage) WriteWithContext

func (s *Storage) WriteWithContext(ctx context.Context, path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)

WriteWithContext will write data into a file.

Jump to

Keyboard shortcuts

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