s3

package
v0.0.1-beta Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2024 License: Apache-2.0, MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrS3          = errors.New("s3 error")
	ErrMissingETag = fmt.Errorf("%w: missing ETag", ErrS3)
)

Functions

func ExtractParamsFromQK

func ExtractParamsFromQK(qk block.QualifiedKey) (string, string)

func LoadConfig

func LoadConfig(ctx context.Context, params params.S3) (aws.Config, error)

func WithClientParams

func WithClientParams(params params.S3) func(options *s3.Options)

func WithDisablePreSigned

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

func WithDisablePreSignedUI

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

func WithDiscoverBucketRegion

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

func WithPreSignedExpiry

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

func WithServerSideEncryption

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

func WithServerSideEncryptionKmsKeyID

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

Types

type Adapter

type Adapter struct {
	ServerSideEncryption         string
	ServerSideEncryptionKmsKeyID string
	// contains filtered or unexported fields
}

func NewAdapter

func NewAdapter(ctx context.Context, params params.S3, opts ...AdapterOption) (*Adapter, error)

func (*Adapter) AbortMultiPartUpload

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

func (*Adapter) BlockstoreType

func (a *Adapter) BlockstoreType() string

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

func (a *Adapter) GetPreSignedURL(ctx context.Context, obj block.ObjectPointer, mode block.PreSignMode) (string, time.Time, 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) GetStorageNamespaceInfo

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

func (*Adapter) GetWalker

func (a *Adapter) GetWalker(uri *url.URL) (block.Walker, error)

func (*Adapter) Put

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

func (*Adapter) Remove

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

func (*Adapter) RemoveNameSpace

func (a *Adapter) RemoveNameSpace(ctx context.Context, namespace string) error

func (*Adapter) ResolveNamespace

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

func (*Adapter) RuntimeStats

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

type AdapterOption func(a *Adapter)

type CaptureExpiresPresigner

type CaptureExpiresPresigner struct {
	Presigner            s3.HTTPPresignerV4
	CredentialsCanExpire bool
	CredentialsExpireAt  time.Time
}

func (*CaptureExpiresPresigner) PresignHTTP

func (c *CaptureExpiresPresigner) PresignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) (url string, signedHeader http.Header, err error)

type ClientCache

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

func NewClientCache

func NewClientCache(awsConfig aws.Config, params params.S3) *ClientCache

func (*ClientCache) DiscoverBucketRegion

func (c *ClientCache) DiscoverBucketRegion(b bool)

func (*ClientCache) Get

func (c *ClientCache) Get(ctx context.Context, bucket string) *s3.Client

func (*ClientCache) GetDefault

func (c *ClientCache) GetDefault() *s3.Client

func (*ClientCache) SetClientFactory

func (c *ClientCache) SetClientFactory(clientFactory clientFactory)

func (*ClientCache) SetS3RegionGetter

func (c *ClientCache) SetS3RegionGetter(s3RegionGetter s3RegionGetter)

type Walker

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

func NewS3Walker

func NewS3Walker(client *s3.Client) *Walker

func (*Walker) GetSkippedEntries

func (s *Walker) GetSkippedEntries() []block.ObjectStoreEntry

func (*Walker) Marker

func (s *Walker) Marker() block.Mark

func (*Walker) Walk

func (s *Walker) 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