s3

package
v2.8.0 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2022 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Overview

Package s3 provides a storagedriver.StorageDriver implementation to store blobs in Amazon S3 cloud storage.

This package leverages the official aws client library for interfacing with S3.

Because S3 is a key, value store the Stat call does not support last modification time for directories (directories are an abstraction for key, value stores)

Keep in mind that S3 guarantees only read-after-write consistency for new objects, but no read-after-update or list-after-write consistency.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Sign added in v2.6.0

func Sign(req *request.Request)

Sign requests with signature version 2.

Will sign the requests with the service config's Credentials object Signing is skipped if the credentials is the credentials.AnonymousCredentials object.

Types

type Driver

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

Driver is a storagedriver.StorageDriver implementation backed by Amazon S3 Objects are stored at absolute keys in the provided bucket.

func FromParameters

func FromParameters(parameters map[string]interface{}) (*Driver, error)

FromParameters constructs a new Driver with a given parameters map Required parameters: - accesskey - secretkey - region - bucket - encrypt

func New

func New(params DriverParameters) (*Driver, error)

New constructs a new Driver with the given AWS credentials, region, encryption flag, and bucketName

func (*Driver) S3BucketKey

func (d *Driver) S3BucketKey(path string) string

S3BucketKey returns the s3 bucket key for the given storage driver path.

type DriverParameters

type DriverParameters struct {
	AccessKey                   string
	SecretKey                   string
	Bucket                      string
	Region                      string
	RegionEndpoint              string
	Encrypt                     bool
	KeyID                       string
	Secure                      bool
	SkipVerify                  bool
	V4Auth                      bool
	ChunkSize                   int64
	MultipartCopyChunkSize      int64
	MultipartCopyMaxConcurrency int64
	MultipartCopyThresholdSize  int64
	RootDirectory               string
	StorageClass                string
	UserAgent                   string
	ObjectACL                   string
	SessionToken                string
}

DriverParameters A struct that encapsulates all of the driver parameters after all values have been set

Jump to

Keyboard shortcuts

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