qingstor

package
v0.0.0-...-0dabf1d Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2023 License: Apache-2.0, Apache-2.0 Imports: 25 Imported by: 0

README

Services Test Qingstor

qingstor

QingStor Object Storage service support for go-storage.

Install

go get go.beyondstorage.io/services/qingstor/v4

Usage

import (
	"log"

	_ "go.beyondstorage.io/services/qingstor/v4"
	"github.com/fastone-open/go-storage/services"
)

func main() {
	store, err := services.NewStoragerFromString("qingstor://bucket_name/path/to/workdir?credential=hmac:access_key_id:secret_access_key&endpoint=https:qingstor.com")
	if err != nil {
		log.Fatal(err)
	}
	
	// Write data from io.Reader into hello.txt
	n, err := store.Write("hello.txt", r, length)
}

Documentation

Overview

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

Code generated by go generate via cmd/definitions; 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 (
	// ErrBucketNameInvalid will be returned while bucket name is invalid.
	ErrBucketNameInvalid = services.NewErrorCode("invalid bucket name")

	// ErrWorkDirInvalid will be returned while work dir is invalid.
	// Work dir must start and end with only one '/'
	ErrWorkDirInvalid = services.NewErrorCode("invalid work dir")

	// ErrEncryptionCustomerKeyInvalid will be returned while encryption customer key is invalid.
	// Encryption key must be a 32-byte AES-256 key.
	ErrEncryptionCustomerKeyInvalid = services.NewErrorCode("invalid encryption customer key")

	// ErrAppendNextPositionEmpty will be returned while next append position is empty.
	ErrAppendNextPositionEmpty = services.NewErrorCode("next append position is empty")

	// ErrPartNumberInvalid will be returned while part number is out of range [0, 10000] when uploading multipart.
	ErrPartNumberInvalid = services.NewErrorCode("part number is out of range [0, 10000]")
)

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

func WithCopySourceEncryptionCustomerAlgorithm(v string) Pair

WithCopySourceEncryptionCustomerAlgorithm will apply copy_source_encryption_customer_algorithm value to Options.

is the encryption algorithm for the source object. Only AES256 is supported now.

func WithCopySourceEncryptionCustomerKey

func WithCopySourceEncryptionCustomerKey(v []byte) Pair

WithCopySourceEncryptionCustomerKey will apply copy_source_encryption_customer_key value to Options.

is the customer-provided encryption key for the source object. For AES256 keys, the plaintext must be 32 bytes long.

func WithDefaultServicePairs

func WithDefaultServicePairs(v DefaultServicePairs) Pair

WithDefaultServicePairs will apply default_service_pairs value to Options.

func WithDefaultStoragePairs

func WithDefaultStoragePairs(v DefaultStoragePairs) Pair

WithDefaultStoragePairs will apply default_storage_pairs value to Options.

func WithDisableURICleaning

func WithDisableURICleaning() Pair

WithDisableURICleaning will apply disable_uri_cleaning value to Options.

func WithEncryptionCustomerAlgorithm

func WithEncryptionCustomerAlgorithm(v string) Pair

WithEncryptionCustomerAlgorithm will apply encryption_customer_algorithm value to Options.

specifies the encryption algorithm. Only AES256 is supported now.

func WithEncryptionCustomerKey

func WithEncryptionCustomerKey(v []byte) Pair

WithEncryptionCustomerKey will apply encryption_customer_key value to Options.

is the customer-provided encryption key. For AES256 keys, the plaintext must be 32 bytes long.

func WithServiceFeatures

func WithServiceFeatures(v ServiceFeatures) Pair

WithServiceFeatures will apply service_features value to Options.

func WithStorageClass

func WithStorageClass(v string) Pair

WithStorageClass will apply storage_class value to Options.

func WithStorageFeatures

func WithStorageFeatures(v StorageFeatures) Pair

WithStorageFeatures will apply storage_features value to Options.

Types

type ObjectSystemMetadata

type ObjectSystemMetadata struct {
	EncryptionCustomerAlgorithm string
	StorageClass                string
}

ObjectSystemMetadata stores system metadata for object.

func GetObjectSystemMetadata

func GetObjectSystemMetadata(o *Object) ObjectSystemMetadata

GetObjectSystemMetadata will get ObjectSystemMetadata from Object.

- This function should not be called by service implementer. - The returning ObjectServiceMetadata 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)

func (*Service) CreateWithContext

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

func (*Service) Delete

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

func (*Service) DeleteWithContext

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

func (*Service) Get

func (s *Service) Get(name string, pairs ...Pair) (store Storager, err error)
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)

func (*Service) List

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

func (*Service) ListWithContext

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

func (*Service) String

func (s *Service) String() string

String implements Service.String.

type Storage

Storage is the qingstor object storage client.

func (*Storage) CommitAppend

func (s *Storage) CommitAppend(o *Object, pairs ...Pair) (err error)

func (*Storage) CommitAppendWithContext

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

func (*Storage) CompleteMultipart

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

func (*Storage) CompleteMultipartWithContext

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

func (*Storage) Copy

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

func (*Storage) CopyWithContext

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

func (*Storage) Create

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

func (*Storage) CreateAppend

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

func (*Storage) CreateAppendWithContext

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

func (*Storage) CreateDir

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

func (*Storage) CreateDirWithContext

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

func (*Storage) CreateLinkWithContext

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

func (*Storage) CreateMultipart

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

func (*Storage) CreateMultipartWithContext

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

func (*Storage) Delete

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

func (*Storage) DeleteWithContext

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

func (*Storage) Fetch

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

func (*Storage) FetchWithContext

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

func (*Storage) List

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

func (*Storage) ListMultipart

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

func (*Storage) ListMultipartWithContext

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

func (*Storage) ListWithContext

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

func (*Storage) Metadata

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

func (*Storage) Move

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

func (*Storage) MoveWithContext

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

func (*Storage) QuerySignHTTPDelete

func (s *Storage) QuerySignHTTPDelete(path string, expire time.Duration, pairs ...Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPDeleteWithContext

func (s *Storage) QuerySignHTTPDeleteWithContext(ctx context.Context, path string, expire time.Duration, pairs ...Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPRead

func (s *Storage) QuerySignHTTPRead(path string, expire time.Duration, pairs ...Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPReadWithContext

func (s *Storage) QuerySignHTTPReadWithContext(ctx context.Context, path string, expire time.Duration, pairs ...Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPWrite

func (s *Storage) QuerySignHTTPWrite(path string, size int64, expire time.Duration, pairs ...Pair) (req *http.Request, err error)

func (*Storage) QuerySignHTTPWriteWithContext

func (s *Storage) QuerySignHTTPWriteWithContext(ctx context.Context, path string, size int64, expire time.Duration, pairs ...Pair) (req *http.Request, err error)

func (*Storage) Read

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

func (*Storage) ReadWithContext

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

func (*Storage) Stat

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

func (*Storage) StatWithContext

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

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)

func (*Storage) WriteAppend

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

func (*Storage) WriteAppendWithContext

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

func (*Storage) WriteMultipart

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

func (*Storage) WriteMultipartWithContext

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

func (*Storage) WriteWithContext

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

type StorageSystemMetadata

type StorageSystemMetadata struct {
	EncryptionCustomerAlgorithm string
	StorageClass                string
}

StorageSystemMetadata stores system metadata for object.

func GetStorageSystemMetadata

func GetStorageSystemMetadata(s *StorageMeta) StorageSystemMetadata

GetStorageSystemMetadata will get StorageSystemMetadata from Storage.

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

Jump to

Keyboard shortcuts

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