gs

package
v1.69.0 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2025 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxMultipartObjects = 10000
)
View Source
const MaxPartsInCompose = 32

Variables

View Source
var (
	ErrMismatchPartETag    = errors.New("mismatch part ETag")
	ErrMismatchPartName    = errors.New("mismatch part name")
	ErrMaxMultipartObjects = errors.New("maximum multipart object reached")
	ErrPartListMismatch    = errors.New("multipart part list mismatch")
	ErrMissingTargetAttrs  = errors.New("missing target attributes")
	ErrInvalidPartName     = errors.New("invalid part name")
)
View Source
var ErrCrossAdapterCopy = fmt.Errorf("cross adapter copy is not supported: %w", block.ErrOperationNotSupported)

Functions

func ComposeAll

func ComposeAll(target string, parts []string, composeFunc ComposeFunc) (*storage.ObjectAttrs, error)

func WithDisablePreSigned added in v0.94.0

func WithDisablePreSigned(b bool) func(a *Adapter)

func WithDisablePreSignedUI added in v0.97.0

func WithDisablePreSignedUI(b bool) func(a *Adapter)

func WithPreSignedExpiry added in v0.92.0

func WithPreSignedExpiry(v time.Duration) func(a *Adapter)

func WithServerSideEncryptionCustomerSupplied added in v1.26.0

func WithServerSideEncryptionCustomerSupplied(value []byte) func(a *Adapter)

func WithServerSideEncryptionKmsKeyID added in v1.26.0

func WithServerSideEncryptionKmsKeyID(s string) func(a *Adapter)

Types

type Adapter

type Adapter struct {
	ServerSideEncryptionCustomerSupplied []byte
	ServerSideEncryptionKmsKeyID         string
	// contains filtered or unexported fields
}

func NewAdapter

func NewAdapter(client *storage.Client, opts ...AdapterOption) *Adapter

func (*Adapter) AbortMultiPartUpload

func (a *Adapter) AbortMultiPartUpload(ctx context.Context, obj block.ObjectPointer, uploadID string) error

func (*Adapter) BlockstoreMetadata added in v1.26.0

func (a *Adapter) BlockstoreMetadata(_ context.Context) (*block.BlockstoreMetadata, error)

func (*Adapter) BlockstoreType

func (a *Adapter) BlockstoreType() string

func (*Adapter) Close

func (a *Adapter) Close() error

func (*Adapter) CompleteMultiPartUpload

func (a *Adapter) CompleteMultiPartUpload(ctx context.Context, obj block.ObjectPointer, uploadID string, multipartList *block.MultipartUploadCompletion) (*block.CompleteMultiPartUploadResponse, error)

func (*Adapter) Copy

func (a *Adapter) Copy(ctx context.Context, sourceObj, destinationObj block.ObjectPointer) error

func (*Adapter) Exists

func (a *Adapter) Exists(ctx context.Context, obj block.ObjectPointer) (bool, error)

func (*Adapter) Get

func (*Adapter) GetPreSignedURL added in v0.90.0

func (a *Adapter) GetPreSignedURL(ctx context.Context, obj block.ObjectPointer, mode block.PreSignMode, filename string) (string, time.Time, error)

func (*Adapter) GetPresignUploadPartURL added in v1.7.0

func (a *Adapter) GetPresignUploadPartURL(_ context.Context, _ block.ObjectPointer, _ string, _ int) (string, error)

func (*Adapter) GetProperties

func (a *Adapter) GetProperties(ctx context.Context, obj block.ObjectPointer) (block.Properties, error)

func (*Adapter) GetRange

func (a *Adapter) GetRange(ctx context.Context, obj block.ObjectPointer, startPosition int64, endPosition int64) (io.ReadCloser, error)

func (*Adapter) GetRegion added in v1.26.0

func (a *Adapter) GetRegion(_ context.Context, _, _ string) (string, error)

func (*Adapter) GetStorageNamespaceInfo

func (a *Adapter) GetStorageNamespaceInfo(string) *block.StorageNamespaceInfo

func (*Adapter) GetWalker added in v0.97.0

func (a *Adapter) GetWalker(_ string, opts block.WalkerOptions) (block.Walker, error)

func (*Adapter) ListMultipartUploads added in v1.49.0

func (*Adapter) ListParts added in v1.19.0

func (a *Adapter) ListParts(ctx context.Context, obj block.ObjectPointer, uploadID string, opts block.ListPartsOpts) (*block.ListPartsResponse, error)

func (*Adapter) Put

func (a *Adapter) Put(ctx context.Context, obj block.ObjectPointer, sizeBytes int64, reader io.Reader, _ block.PutOpts) (*block.PutResponse, error)

func (*Adapter) Remove

func (a *Adapter) Remove(ctx context.Context, obj block.ObjectPointer) error

func (*Adapter) ResolveNamespace added in v0.97.0

func (a *Adapter) ResolveNamespace(_, storageNamespace, key string, identifierType block.IdentifierType) (block.QualifiedKey, error)

func (*Adapter) RuntimeStats added in v0.41.1

func (a *Adapter) RuntimeStats() map[string]string

func (*Adapter) UploadCopyPart

func (a *Adapter) UploadCopyPart(ctx context.Context, sourceObj, destinationObj block.ObjectPointer, uploadID string, partNumber int) (*block.UploadPartResponse, error)

func (*Adapter) UploadCopyPartRange

func (a *Adapter) UploadCopyPartRange(ctx context.Context, sourceObj, destinationObj block.ObjectPointer, uploadID string, partNumber int, startPosition, endPosition int64) (*block.UploadPartResponse, error)

func (*Adapter) UploadPart

func (a *Adapter) UploadPart(ctx context.Context, obj block.ObjectPointer, sizeBytes int64, reader io.Reader, uploadID string, partNumber int) (*block.UploadPartResponse, error)

type AdapterOption added in v1.26.0

type AdapterOption func(a *Adapter)

type ComposeFunc

type ComposeFunc func(target string, parts []string) (*storage.ObjectAttrs, error)

type DualAdapter added in v1.68.0

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

DualAdapter routes operations between metadata and data adapters based on object path

func NewDualAdapter added in v1.68.0

func NewDualAdapter(metadataAdapter, dataAdapter block.Adapter) *DualAdapter

NewDualAdapter creates a new dual adapter that routes operations based on object path

func (*DualAdapter) AbortMultiPartUpload added in v1.68.0

func (d *DualAdapter) AbortMultiPartUpload(ctx context.Context, obj block.ObjectPointer, uploadID string) error

func (*DualAdapter) BlockstoreMetadata added in v1.68.0

func (d *DualAdapter) BlockstoreMetadata(ctx context.Context) (*block.BlockstoreMetadata, error)

func (*DualAdapter) BlockstoreType added in v1.68.0

func (d *DualAdapter) BlockstoreType() string

func (*DualAdapter) CompleteMultiPartUpload added in v1.68.0

func (d *DualAdapter) CompleteMultiPartUpload(ctx context.Context, obj block.ObjectPointer, uploadID string, multipartList *block.MultipartUploadCompletion) (*block.CompleteMultiPartUploadResponse, error)

func (*DualAdapter) Copy added in v1.68.0

func (d *DualAdapter) Copy(ctx context.Context, sourceObj, destinationObj block.ObjectPointer) error

func (*DualAdapter) CreateMultiPartUpload added in v1.68.0

func (*DualAdapter) Exists added in v1.68.0

func (d *DualAdapter) Exists(ctx context.Context, obj block.ObjectPointer) (bool, error)

func (*DualAdapter) Get added in v1.68.0

func (*DualAdapter) GetPreSignedURL added in v1.68.0

func (d *DualAdapter) GetPreSignedURL(ctx context.Context, obj block.ObjectPointer, mode block.PreSignMode, filename string) (string, time.Time, error)

func (*DualAdapter) GetPresignUploadPartURL added in v1.68.0

func (d *DualAdapter) GetPresignUploadPartURL(ctx context.Context, obj block.ObjectPointer, uploadID string, partNumber int) (string, error)

func (*DualAdapter) GetProperties added in v1.68.0

func (d *DualAdapter) GetProperties(ctx context.Context, obj block.ObjectPointer) (block.Properties, error)

func (*DualAdapter) GetRange added in v1.68.0

func (d *DualAdapter) GetRange(ctx context.Context, obj block.ObjectPointer, startPosition int64, endPosition int64) (io.ReadCloser, error)

func (*DualAdapter) GetRegion added in v1.68.0

func (d *DualAdapter) GetRegion(ctx context.Context, storageID, storageNamespace string) (string, error)

func (*DualAdapter) GetStorageNamespaceInfo added in v1.68.0

func (d *DualAdapter) GetStorageNamespaceInfo(storageID string) *block.StorageNamespaceInfo

func (*DualAdapter) GetWalker added in v1.68.0

func (d *DualAdapter) GetWalker(storageID string, opts block.WalkerOptions) (block.Walker, error)

func (*DualAdapter) ListMultipartUploads added in v1.68.0

func (*DualAdapter) ListParts added in v1.68.0

func (*DualAdapter) Put added in v1.68.0

func (d *DualAdapter) Put(ctx context.Context, obj block.ObjectPointer, sizeBytes int64, reader io.Reader, opts block.PutOpts) (*block.PutResponse, error)

func (*DualAdapter) Remove added in v1.68.0

func (d *DualAdapter) Remove(ctx context.Context, obj block.ObjectPointer) error

func (*DualAdapter) ResolveNamespace added in v1.68.0

func (d *DualAdapter) ResolveNamespace(storageID, storageNamespace, key string, identifierType block.IdentifierType) (block.QualifiedKey, error)

func (*DualAdapter) RuntimeStats added in v1.68.0

func (d *DualAdapter) RuntimeStats() map[string]string

func (*DualAdapter) UploadCopyPart added in v1.68.0

func (d *DualAdapter) UploadCopyPart(ctx context.Context, sourceObj, destinationObj block.ObjectPointer, uploadID string, partNumber int) (*block.UploadPartResponse, error)

func (*DualAdapter) UploadCopyPartRange added in v1.68.0

func (d *DualAdapter) UploadCopyPartRange(ctx context.Context, sourceObj, destinationObj block.ObjectPointer, uploadID string, partNumber int, startPosition, endPosition int64) (*block.UploadPartResponse, error)

func (*DualAdapter) UploadPart added in v1.68.0

func (d *DualAdapter) UploadPart(ctx context.Context, obj block.ObjectPointer, sizeBytes int64, reader io.Reader, uploadID string, partNumber int) (*block.UploadPartResponse, error)

type GCSWalker added in v0.97.0

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

func NewGCSWalker added in v0.97.0

func NewGCSWalker(client *storage.Client) *GCSWalker

func (*GCSWalker) GetSkippedEntries added in v0.98.0

func (w *GCSWalker) GetSkippedEntries() []block.ObjectStoreEntry

func (*GCSWalker) Marker added in v0.97.0

func (w *GCSWalker) Marker() block.Mark

func (*GCSWalker) Walk added in v0.97.0

func (w *GCSWalker) Walk(ctx context.Context, storageURI *url.URL, op block.WalkOptions, walkFn func(e block.ObjectStoreEntry) error) error

Jump to

Keyboard shortcuts

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