storage

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

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

Go to latest
Published: Mar 15, 2024 License: BSD-3-Clause Imports: 10 Imported by: 0

Documentation

Overview

Package storage provides an interface and types for reading and writing files to Cloud Storage or a filesystem.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrObjectIteratorDone = errors.New("object iterator done")
	ErrObjectNotExist     = errors.New("object not exist")
)

Functions

This section is empty.

Types

type API

type API struct {
	Upload BucketHandle
	Merge  BucketHandle
	Chart  BucketHandle
}

func NewAPI

func NewAPI(ctx context.Context, cfg *config.Config) (*API, error)

type BucketHandle

type BucketHandle interface {
	Object(name string) ObjectHandle
	Objects(ctx context.Context, prefix string) ObjectIterator
	URI() string
}

func NewFSBucket

func NewFSBucket(ctx context.Context, dir, bucket string) (BucketHandle, error)

func NewGCSBucket

func NewGCSBucket(ctx context.Context, project, bucket string) (BucketHandle, error)

type FSBucket

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

func (*FSBucket) Object

func (b *FSBucket) Object(name string) ObjectHandle

func (*FSBucket) Objects

func (b *FSBucket) Objects(ctx context.Context, prefix string) ObjectIterator

func (*FSBucket) URI

func (b *FSBucket) URI() string

type FSObject

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

func (*FSObject) NewReader

func (o *FSObject) NewReader(ctx context.Context) (io.ReadCloser, error)

func (*FSObject) NewWriter

func (o *FSObject) NewWriter(ctx context.Context) (io.WriteCloser, error)

type FSObjectIterator

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

func (*FSObjectIterator) Next

func (it *FSObjectIterator) Next() (name string, err error)

type GCSBucket

type GCSBucket struct {
	*storage.BucketHandle
	// contains filtered or unexported fields
}

func (*GCSBucket) Object

func (b *GCSBucket) Object(name string) ObjectHandle

func (*GCSBucket) Objects

func (b *GCSBucket) Objects(ctx context.Context, prefix string) ObjectIterator

func (*GCSBucket) URI

func (b *GCSBucket) URI() string

type GCSObject

type GCSObject struct {
	*storage.ObjectHandle
}

func (*GCSObject) NewReader

func (o *GCSObject) NewReader(ctx context.Context) (io.ReadCloser, error)

func (*GCSObject) NewWriter

func (o *GCSObject) NewWriter(ctx context.Context) (io.WriteCloser, error)

type GCSObjectIterator

type GCSObjectIterator struct {
	*storage.ObjectIterator
}

func (*GCSObjectIterator) Next

func (it *GCSObjectIterator) Next() (elem string, err error)

type ObjectHandle

type ObjectHandle interface {
	NewReader(ctx context.Context) (io.ReadCloser, error)
	NewWriter(ctx context.Context) (io.WriteCloser, error)
}

func NewFSObject

func NewFSObject(b *FSBucket, name string) ObjectHandle

func NewGCSObject

func NewGCSObject(b *GCSBucket, name string) ObjectHandle

type ObjectIterator

type ObjectIterator interface {
	Next() (name string, err error)
}

Jump to

Keyboard shortcuts

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