Documentation ¶
Overview ¶
Package s3 implements common object storage abstractions against s3-compatible APIs.
Index ¶
- Constants
- Variables
- func NewTestBucket(t testing.TB, location string) (objstore.Bucket, func(), error)
- func NewTestBucketFromConfig(t testing.TB, location string, c Config, reuseBucket bool) (objstore.Bucket, func(), error)
- func ValidateForTests(conf Config) error
- type Bucket
- func (b *Bucket) Close() error
- func (b *Bucket) Delete(ctx context.Context, name string) error
- func (b *Bucket) Exists(ctx context.Context, name string) (bool, error)
- func (b *Bucket) Get(ctx context.Context, name string) (io.ReadCloser, error)
- func (b *Bucket) GetRange(ctx context.Context, name string, off, length int64) (io.ReadCloser, error)
- func (b *Bucket) IsObjNotFoundErr(err error) bool
- func (b *Bucket) Iter(ctx context.Context, dir string, f func(string) error) error
- func (b *Bucket) Name() string
- func (b *Bucket) ObjectSize(ctx context.Context, name string) (uint64, error)
- func (b *Bucket) Upload(ctx context.Context, name string, r io.Reader) error
- type Config
- type HTTPConfig
- type TraceConfig
Constants ¶
const DirDelim = "/"
DirDelim is the delimiter used to model a directory structure in an object store bucket.
Variables ¶
Functions ¶
func NewTestBucket ¶
NewTestBucket creates test bkt client that before returning creates temporary bucket. In a close function it empties and deletes the bucket.
func NewTestBucketFromConfig ¶ added in v0.2.0
func ValidateForTests ¶ added in v0.2.0
ValidateForTests checks to see the config options for tests are set.
Types ¶
type Bucket ¶
type Bucket struct {
// contains filtered or unexported fields
}
Bucket implements the store.Bucket interface against s3-compatible APIs.
func NewBucketWithConfig ¶ added in v0.2.0
NewBucketWithConfig returns a new Bucket using the provided s3 config values.
func (*Bucket) GetRange ¶
func (b *Bucket) GetRange(ctx context.Context, name string, off, length int64) (io.ReadCloser, error)
GetRange returns a new range reader for the given object name and range.
func (*Bucket) IsObjNotFoundErr ¶
IsObjNotFoundErr returns true if error means that object is not found. Relevant to Get operations.
func (*Bucket) Iter ¶
Iter calls f for each entry in the given directory. The argument to f is the full object name including the prefix of the inspected directory.
func (*Bucket) ObjectSize ¶ added in v0.10.0
ObjectSize returns the size of the specified object.
type Config ¶
type Config struct { Bucket string `yaml:"bucket"` Endpoint string `yaml:"endpoint"` Region string `yaml:"region"` AccessKey string `yaml:"access_key"` Insecure bool `yaml:"insecure"` SignatureV2 bool `yaml:"signature_version2"` SSEEncryption bool `yaml:"encrypt_sse"` SecretKey string `yaml:"secret_key"` PutUserMetadata map[string]string `yaml:"put_user_metadata"` HTTPConfig HTTPConfig `yaml:"http_config"` TraceConfig TraceConfig `yaml:"trace"` // PartSize used for multipart upload. Only used if uploaded object size is known and larger than configured PartSize. PartSize uint64 `yaml:"part_size"` }
Config stores the configuration for s3 bucket.
type HTTPConfig ¶ added in v0.2.0
type HTTPConfig struct { IdleConnTimeout model.Duration `yaml:"idle_conn_timeout"` ResponseHeaderTimeout model.Duration `yaml:"response_header_timeout"` InsecureSkipVerify bool `yaml:"insecure_skip_verify"` }
HTTPConfig stores the http.Transport configuration for the s3 minio client.
type TraceConfig ¶ added in v0.7.0
type TraceConfig struct {
Enable bool `yaml:"enable"`
}