Documentation ¶
Overview ¶
Package s3 provides a storagedriver.StorageDriver implementation to store blobs in Amazon S3 cloud storage.
This package leverages the crowdmob/goamz 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 eventual consistency, so do not assume that a successful write will mean immediate access to the data written (although in most regions a new object put has guaranteed read after write). The only true guarantee is that once you call Stat and receive a certain file size, that much of the file is already accessible.
Index ¶
- type Driver
- func (d *Driver) Delete(path string) error
- func (d *Driver) GetContent(path string) ([]byte, error)
- func (d *Driver) List(path string) ([]string, error)
- func (d *Driver) Move(sourcePath string, destPath string) error
- func (d *Driver) PutContent(path string, contents []byte) error
- func (d *Driver) ReadStream(path string, offset int64) (io.ReadCloser, error)
- func (d *Driver) Stat(path string) (storagedriver.FileInfo, error)
- func (d *Driver) URLFor(path string, options map[string]interface{}) (string, error)
- func (d *Driver) WriteStream(path string, offset int64, reader io.Reader) (totalRead int64, err error)
- type DriverParameters
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Driver ¶
type Driver struct { S3 *s3.S3 Bucket *s3.Bucket ChunkSize int64 Encrypt bool RootDirectory string }
Driver is a storagedriver.StorageDriver implementation backed by Amazon S3 Objects are stored at absolute keys in the provided bucket
func FromParameters ¶
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) GetContent ¶
GetContent retrieves the content stored at "path" as a []byte.
func (*Driver) List ¶
List returns a list of the objects that are direct descendants of the given path.
func (*Driver) Move ¶
Move moves an object stored at sourcePath to destPath, removing the original object.
func (*Driver) PutContent ¶
PutContent stores the []byte content at a location designated by "path".
func (*Driver) ReadStream ¶
ReadStream retrieves an io.ReadCloser for the content stored at "path" with a given byte offset.
func (*Driver) Stat ¶
func (d *Driver) Stat(path string) (storagedriver.FileInfo, error)
Stat retrieves the FileInfo for the given path, including the current size in bytes and the creation time.
func (*Driver) URLFor ¶
URLFor returns a URL which may be used to retrieve the content stored at the given path. May return an UnsupportedMethodErr in certain StorageDriver implementations.
func (*Driver) WriteStream ¶
func (d *Driver) WriteStream(path string, offset int64, reader io.Reader) (totalRead int64, err error)
WriteStream stores the contents of the provided io.Reader at a location designated by the given path. The driver will know it has received the full contents when the reader returns io.EOF. The number of successfully READ bytes will be returned, even if an error is returned. May be used to resume writing a stream by providing a nonzero offset. Offsets past the current size will write from the position beyond the end of the file.
type DriverParameters ¶
type DriverParameters struct { AccessKey string SecretKey string Bucket string Region aws.Region Encrypt bool Secure bool V4Auth bool ChunkSize int64 RootDirectory string }
DriverParameters A struct that encapsulates all of the driver parameters after all values have been set