storage

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Opt

type Opt func(*options)

func WithDir

func WithDir(path string) Opt

WithDir adds directory to reading/writing files from/to.

func WithDirList added in v0.3.0

func WithDirList(pathList []string) Opt

WithDirList adds a directory list to read files from. Is used only for Reader.

func WithFile

func WithFile(path string) Opt

WithFile adds a file path to reading/writing from/to.

func WithFileList added in v0.3.0

func WithFileList(pathList []string) Opt

WithFileList adds a file list to read from. Is used only for Reader.

func WithNestedDir

func WithNestedDir() Opt

WithNestedDir adds withNestedDir = true parameter. That means that we won't skip nested folders.

func WithRemoveFiles

func WithRemoveFiles() Opt

WithRemoveFiles adds remove files flag, so all files will be removed from backup folder before backup. Is used only for Writer.

func WithSkipDirCheck

func WithSkipDirCheck() Opt

WithSkipDirCheck adds skip dir check flags. Which means that backup directory won't be checked for emptiness.

func WithStartOffset

func WithStartOffset(v string) Opt

WithStartOffset adds start offset parameter to list request. The Value of start offset will be included in a result. You will receive objects including start offset. Is used only for Reader.

func WithValidator

func WithValidator(v validator) Opt

WithValidator adds validator to Reader, so files will be validated before reading. Is used only for Reader.

type Reader

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

Reader represents GCP storage reader.

func NewReader

func NewReader(
	ctx context.Context,
	client *storage.Client,
	bucketName string,
	opts ...Opt,
) (*Reader, error)

NewReader returns new GCP storage directory/file reader. Must be called with WithDir(path string) or WithFile(path string) - mandatory. Can be called with WithValidator(v validator) - optional.

func (*Reader) GetType

func (r *Reader) GetType() string

GetType return `gcpStorageType` type of storage. Used in logging.

func (*Reader) StreamFile

func (r *Reader) StreamFile(
	ctx context.Context, filename string, readersCh chan<- io.ReadCloser, errorsCh chan<- error)

StreamFile opens a single file from GCP cloud storage and sends io.Readers to the `readersCh` In case of an error, it is sent to the `errorsCh` channel.

func (*Reader) StreamFiles

func (r *Reader) StreamFiles(
	ctx context.Context, readersCh chan<- io.ReadCloser, errorsCh chan<- error,
)

StreamFiles streams file/directory form GCP cloud storage to `readersCh`. If error occurs, it will be sent to `errorsCh.`

type Writer

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

Writer represents a GCP storage writer.

func NewWriter

func NewWriter(
	ctx context.Context,
	client *storage.Client,
	bucketName string,
	opts ...Opt,
) (*Writer, error)

NewWriter creates a new writer for GCP storage directory/file writes. Must be called with WithDir(path string) or WithFile(path string) - mandatory. Can be called with WithRemoveFiles() - optional.

func (*Writer) GetType

func (w *Writer) GetType() string

GetType return `gcpStorageType` type of storage. Used in logging.

func (*Writer) NewWriter

func (w *Writer) NewWriter(ctx context.Context, filename string) (io.WriteCloser, error)

NewWriter returns a new GCP storage writer to the specified path.

func (*Writer) RemoveFiles

func (w *Writer) RemoveFiles(
	ctx context.Context,
) error

RemoveFiles removes a backup file or files from directory.

Jump to

Keyboard shortcuts

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