cos

package
v0.0.0-...-c228ca5 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultConfig = Config{
	HTTPConfig: exthttp.HTTPConfig{
		IdleConnTimeout:       model.Duration(90 * time.Second),
		ResponseHeaderTimeout: model.Duration(2 * time.Minute),
		TLSHandshakeTimeout:   model.Duration(10 * time.Second),
		ExpectContinueTimeout: model.Duration(1 * time.Second),
		MaxIdleConns:          100,
		MaxIdleConnsPerHost:   100,
		MaxConnsPerHost:       0,
	},
}

DefaultConfig is the default config for an cos client. default tune the `MaxIdleConnsPerHost`.

Functions

func NewTestBucket

func NewTestBucket(t testing.TB) (objstore.Bucket, func(), error)

NewTestBucket creates test bkt client that before returning creates temporary bucket. In a close function it empties and deletes the bucket.

Types

type Bucket

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

Bucket implements the store.Bucket interface against cos-compatible(Tencent Object Storage) APIs.

func NewBucket

func NewBucket(logger log.Logger, conf []byte, component string) (*Bucket, error)

NewBucket returns a new Bucket using the provided cos configuration.

func NewBucketWithConfig

func NewBucketWithConfig(logger log.Logger, config Config, component string) (*Bucket, error)

NewBucketWithConfig returns a new Bucket using the provided cos config values.

func (*Bucket) Attributes

func (b *Bucket) Attributes(ctx context.Context, name string) (objstore.ObjectAttributes, error)

Attributes returns information about the specified object.

func (*Bucket) Close

func (b *Bucket) Close() error

func (*Bucket) Delete

func (b *Bucket) Delete(ctx context.Context, name string) error

Delete removes the object with the given name.

func (*Bucket) Exists

func (b *Bucket) Exists(ctx context.Context, name string) (bool, error)

Exists checks if the given object exists in the bucket.

func (*Bucket) Get

func (b *Bucket) Get(ctx context.Context, name string) (io.ReadCloser, error)

Get returns a reader for the given object name.

func (*Bucket) GetRange

func (b *Bucket) GetRange(ctx context.Context, name string, off, length int64) (io.ReadCloser, error)

GetRange returns a new range reader for the given object name and range.

func (*Bucket) IsCustomerManagedKeyError

func (b *Bucket) IsCustomerManagedKeyError(_ error) bool

IsCustomerManagedKeyError returns true if the permissions for key used to encrypt the object was revoked.

func (*Bucket) IsObjNotFoundErr

func (b *Bucket) IsObjNotFoundErr(err error) bool

IsObjNotFoundErr returns true if error means that object is not found. Relevant to Get operations.

func (*Bucket) Iter

func (b *Bucket) Iter(ctx context.Context, dir string, f func(string) error, options ...objstore.IterOption) error

Iter calls f for each entry in the given directory (not recursive.). The argument to f is the full object name including the prefix of the inspected directory.

func (*Bucket) Name

func (b *Bucket) Name() string

Name returns the bucket name for COS.

func (*Bucket) Upload

func (b *Bucket) Upload(ctx context.Context, name string, r io.Reader) error

Upload the contents of the reader as an object into the bucket.

type Config

type Config struct {
	Bucket     string             `yaml:"bucket"`
	Region     string             `yaml:"region"`
	AppId      string             `yaml:"app_id"`
	Endpoint   string             `yaml:"endpoint"`
	SecretKey  string             `yaml:"secret_key"`
	SecretId   string             `yaml:"secret_id"`
	HTTPConfig exthttp.HTTPConfig `yaml:"http_config"`
}

Config encapsulates the necessary config values to instantiate an cos client.

Jump to

Keyboard shortcuts

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