Documentation ¶
Index ¶
- Constants
- func SDKLogLevel(levels string, out io.Writer) aws.LogLevelType
- type AWSsse
- type Conf
- type Credentials
- type Retryer
- type S3
- func (s *S3) Copy(src, dst string) error
- func (s *S3) Delete(name string) error
- func (s *S3) FileStat(name string) (inf storage.FileInfo, err error)
- func (s *S3) List(prefix, suffix string) ([]storage.FileInfo, error)
- func (s *S3) Save(name string, data io.Reader, sizeb int) error
- func (s *S3) SourceReader(name string) (io.ReadCloser, error)
- type S3Provider
- type SDKDebugLogLevel
Constants ¶
const (
// GCSEndpointURL is the endpoint url for Google Clound Strage service
GCSEndpointURL = "storage.googleapis.com"
)
Variables ¶
This section is empty.
Functions ¶
func SDKLogLevel ¶ added in v1.7.0
func SDKLogLevel(levels string, out io.Writer) aws.LogLevelType
SDKLogLevel returns AWS SDK log level value from comma-separated SDKDebugLogLevel values string. If the string does not contain a valid value, returns aws.LogOff.
If the string is incorrect formatted, prints warnings to the io.Writer. Passing nil as the io.Writer will discard any warnings.
Types ¶
type Conf ¶
type Conf struct { Provider S3Provider `bson:"provider,omitempty" json:"provider,omitempty" yaml:"provider,omitempty"` Region string `bson:"region" json:"region" yaml:"region"` EndpointURL string `bson:"endpointUrl,omitempty" json:"endpointUrl" yaml:"endpointUrl,omitempty"` Bucket string `bson:"bucket" json:"bucket" yaml:"bucket"` Prefix string `bson:"prefix,omitempty" json:"prefix,omitempty" yaml:"prefix,omitempty"` Credentials Credentials `bson:"credentials" json:"-" yaml:"credentials"` ServerSideEncryption *AWSsse `bson:"serverSideEncryption,omitempty" json:"serverSideEncryption,omitempty" yaml:"serverSideEncryption,omitempty"` UploadPartSize int `bson:"uploadPartSize,omitempty" json:"uploadPartSize,omitempty" yaml:"uploadPartSize,omitempty"` MaxUploadParts int `bson:"maxUploadParts,omitempty" json:"maxUploadParts,omitempty" yaml:"maxUploadParts,omitempty"` StorageClass string `bson:"storageClass,omitempty" json:"storageClass,omitempty" yaml:"storageClass,omitempty"` // InsecureSkipTLSVerify disables client verification of the server's // certificate chain and host name InsecureSkipTLSVerify bool `bson:"insecureSkipTLSVerify" json:"insecureSkipTLSVerify" yaml:"insecureSkipTLSVerify"` // DebugLogLevels enables AWS SDK debug logging (sub)levels. Available options: // LogDebug, Signing, HTTPBody, RequestRetries, RequestErrors, EventStreamBody // // Any sub levels will enable LogDebug level accordingly to AWS SDK Go module behavior // https://pkg.go.dev/github.com/aws/aws-sdk-go@v1.40.7/aws#LogLevelType DebugLogLevels string `bson:"debugLogLevels,omitempty" json:"debugLogLevels,omitempty" yaml:"debugLogLevels,omitempty"` // Retryer is configuration for client.DefaultRetryer // https://pkg.go.dev/github.com/aws/aws-sdk-go/aws/client#DefaultRetryer Retryer *Retryer `bson:"retryer,omitempty" json:"retryer,omitempty" yaml:"retryer,omitempty"` }
type Credentials ¶
type Credentials struct { AccessKeyID string `bson:"access-key-id" json:"access-key-id,omitempty" yaml:"access-key-id,omitempty"` SecretAccessKey string `bson:"secret-access-key" json:"secret-access-key,omitempty" yaml:"secret-access-key,omitempty"` Vault struct { Server string `bson:"server" json:"server,omitempty" yaml:"server"` Secret string `bson:"secret" json:"secret,omitempty" yaml:"secret"` Token string `bson:"token" json:"token,omitempty" yaml:"token"` } `bson:"vault" json:"vault" yaml:"vault,omitempty"` }
type Retryer ¶ added in v1.7.0
type Retryer struct { // Num max Retries is the number of max retries that will be performed. // https://pkg.go.dev/github.com/aws/aws-sdk-go/aws/client#DefaultRetryer.NumMaxRetries NumMaxRetries int `bson:"numMaxRetries" json:"numMaxRetries" yaml:"numMaxRetries"` // MinRetryDelay is the minimum retry delay after which retry will be performed. // https://pkg.go.dev/github.com/aws/aws-sdk-go/aws/client#DefaultRetryer.MinRetryDelay MinRetryDelay time.Duration `bson:"minRetryDelay" json:"minRetryDelay" yaml:"minRetryDelay"` // MaxRetryDelay is the maximum retry delay before which retry must be performed. // https://pkg.go.dev/github.com/aws/aws-sdk-go/aws/client#DefaultRetryer.MaxRetryDelay MaxRetryDelay time.Duration `bson:"maxRetryDelay" json:"maxRetryDelay" yaml:"maxRetryDelay"` }
type S3 ¶
type S3 struct {
// contains filtered or unexported fields
}
func (*S3) Delete ¶
Delete deletes given file. It returns storage.ErrNotExist if a file isn't exists
func (*S3) SourceReader ¶
func (s *S3) SourceReader(name string) (io.ReadCloser, error)
SourceReader reads object with the given name from S3 and pipes its data to the returned io.ReadCloser.
It uses partReader to download the object by chunks (`downloadChuckSize`). In case of error, it would retry get the next bytes up to `downloadRetries` times. If it fails to do so or connection error happened, it recreates the session and tries again up to `downloadRetries` times.
type S3Provider ¶
type S3Provider string
const ( S3ProviderUndef S3Provider = "" S3ProviderAWS S3Provider = "aws" S3ProviderGCS S3Provider = "gcs" )
type SDKDebugLogLevel ¶ added in v1.7.0
type SDKDebugLogLevel string
const ( LogDebug SDKDebugLogLevel = "LogDebug" Signing SDKDebugLogLevel = "Signing" HTTPBody SDKDebugLogLevel = "HTTPBody" RequestRetries SDKDebugLogLevel = "RequestRetries" RequestErrors SDKDebugLogLevel = "RequestErrors" EventStreamBody SDKDebugLogLevel = "EventStreamBody" )
func (SDKDebugLogLevel) SDKLogLevel ¶ added in v1.7.0
func (l SDKDebugLogLevel) SDKLogLevel() aws.LogLevelType
SDKLogLevel returns the appropriate AWS SDK debug logging level. If the level is not recognized, returns aws.LogLevelType(0)