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.



    This section is empty.


    This section is empty.


    func Sign

    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.


      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