Documentation ¶
Index ¶
- type AWSCloudStorage
- func (ts *AWSCloudStorage) Attributes(ctx context.Context, key string) (*Attributes, error)
- func (ts *AWSCloudStorage) Close()
- func (ts *AWSCloudStorage) CreateBucket(ctx context.Context, bucketPrefix string, expirationTimeDays int64) error
- func (ts *AWSCloudStorage) Delete(ctx context.Context, key string) error
- func (ts *AWSCloudStorage) Exists(ctx context.Context, key string) (bool, error)
- func (ts *AWSCloudStorage) Get(ctx context.Context, key string) ([]byte, error)
- func (ts *AWSCloudStorage) GetRangeReader(ctx context.Context, key string, offset, length int64) (io.ReadCloser, error)
- func (ts *AWSCloudStorage) GetReader(ctx context.Context, key string) (io.ReadCloser, error)
- func (ts *AWSCloudStorage) GetSignedURL(ctx context.Context, key string, opts *SignedURLOption) (string, error)
- func (ts *AWSCloudStorage) GetWriter(ctx context.Context, key string) (io.WriteCloser, error)
- func (ts *AWSCloudStorage) List(ctx context.Context, prefix string) *ListIterator
- func (ts *AWSCloudStorage) ListWithOptions(ctx context.Context, listOptions *ListOptions) *ListIterator
- func (ts *AWSCloudStorage) Write(ctx context.Context, key string, body []byte, contentType *string) error
- type AWSTestCloudStorage
- func (ts *AWSTestCloudStorage) Attributes(ctx context.Context, key string) (*Attributes, error)
- func (ts *AWSTestCloudStorage) Close()
- func (ts *AWSTestCloudStorage) CreateBucket(ctx context.Context, bucketPrefix string, expirationTimeDays int64) error
- func (ts *AWSTestCloudStorage) Delete(ctx context.Context, key string) error
- func (ts *AWSTestCloudStorage) Exists(ctx context.Context, key string) (bool, error)
- func (ts *AWSTestCloudStorage) Get(ctx context.Context, key string) ([]byte, error)
- func (ts *AWSTestCloudStorage) GetRangeReader(ctx context.Context, key string, offset, length int64) (io.ReadCloser, error)
- func (ts *AWSTestCloudStorage) GetReader(ctx context.Context, key string) (io.ReadCloser, error)
- func (ts *AWSTestCloudStorage) GetSignedURL(ctx context.Context, key string, opts *SignedURLOption) (string, error)
- func (ts *AWSTestCloudStorage) GetWriter(ctx context.Context, key string) (io.WriteCloser, error)
- func (ts *AWSTestCloudStorage) List(ctx context.Context, prefix string) *ListIterator
- func (ts *AWSTestCloudStorage) ListWithOptions(ctx context.Context, listOptions *ListOptions) *ListIterator
- func (ts *AWSTestCloudStorage) Write(ctx context.Context, key string, body []byte, contentType *string) error
- type Attributes
- type CloudStorage
- type CloudStorageOption
- type ExplicitGCPCloudStorage
- func (ts *ExplicitGCPCloudStorage) Attributes(ctx context.Context, key string) (*Attributes, error)
- func (ts *ExplicitGCPCloudStorage) Close()
- func (ts *ExplicitGCPCloudStorage) CreateBucket(ctx context.Context, bucketPrefix string, expirationTimeDays int64) error
- func (ts *ExplicitGCPCloudStorage) Delete(ctx context.Context, key string) error
- func (ts *ExplicitGCPCloudStorage) Exists(ctx context.Context, key string) (bool, error)
- func (ts *ExplicitGCPCloudStorage) Get(ctx context.Context, key string) ([]byte, error)
- func (ts *ExplicitGCPCloudStorage) GetRangeReader(ctx context.Context, key string, offset, length int64) (io.ReadCloser, error)
- func (ts *ExplicitGCPCloudStorage) GetReader(ctx context.Context, key string) (io.ReadCloser, error)
- func (ts *ExplicitGCPCloudStorage) GetSignedURL(ctx context.Context, key string, opts *SignedURLOption) (string, error)
- func (ts *ExplicitGCPCloudStorage) GetWriter(ctx context.Context, key string) (io.WriteCloser, error)
- func (ts *ExplicitGCPCloudStorage) List(ctx context.Context, prefix string) *ListIterator
- func (ts *ExplicitGCPCloudStorage) ListWithOptions(ctx context.Context, listOptions *ListOptions) *ListIterator
- func (ts *ExplicitGCPCloudStorage) Write(ctx context.Context, key string, body []byte, contentType *string) error
- type GCPTestCloudStorage
- func (ts *GCPTestCloudStorage) Attributes(ctx context.Context, key string) (*Attributes, error)
- func (ts *GCPTestCloudStorage) Close()
- func (ts *GCPTestCloudStorage) CreateBucket(ctx context.Context, bucketPrefix string, expirationTimeDays int64) error
- func (ts *GCPTestCloudStorage) Delete(ctx context.Context, key string) error
- func (ts *GCPTestCloudStorage) Exists(ctx context.Context, key string) (bool, error)
- func (ts *GCPTestCloudStorage) Get(ctx context.Context, key string) ([]byte, error)
- func (ts *GCPTestCloudStorage) GetRangeReader(ctx context.Context, key string, offset, length int64) (io.ReadCloser, error)
- func (ts *GCPTestCloudStorage) GetReader(ctx context.Context, key string) (io.ReadCloser, error)
- func (ts *GCPTestCloudStorage) GetSignedURL(ctx context.Context, key string, opts *SignedURLOption) (string, error)
- func (ts *GCPTestCloudStorage) GetWriter(ctx context.Context, key string) (io.WriteCloser, error)
- func (ts *GCPTestCloudStorage) List(ctx context.Context, prefix string) *ListIterator
- func (ts *GCPTestCloudStorage) ListWithOptions(ctx context.Context, listOptions *ListOptions) *ListIterator
- func (ts *GCPTestCloudStorage) Write(ctx context.Context, key string, body []byte, contentType *string) error
- type ImplicitGCPCloudStorage
- func (ts *ImplicitGCPCloudStorage) Attributes(ctx context.Context, key string) (*Attributes, error)
- func (ts *ImplicitGCPCloudStorage) Close()
- func (ts *ImplicitGCPCloudStorage) CreateBucket(ctx context.Context, bucketPrefix string, expirationTimeDays int64) error
- func (ts *ImplicitGCPCloudStorage) Delete(ctx context.Context, key string) error
- func (ts *ImplicitGCPCloudStorage) Exists(ctx context.Context, key string) (bool, error)
- func (ts *ImplicitGCPCloudStorage) Get(ctx context.Context, key string) ([]byte, error)
- func (ts *ImplicitGCPCloudStorage) GetRangeReader(ctx context.Context, key string, offset, length int64) (io.ReadCloser, error)
- func (ts *ImplicitGCPCloudStorage) GetReader(ctx context.Context, key string) (io.ReadCloser, error)
- func (ts *ImplicitGCPCloudStorage) GetSignedURL(ctx context.Context, key string, opts *SignedURLOption) (string, error)
- func (ts *ImplicitGCPCloudStorage) GetWriter(ctx context.Context, key string) (io.WriteCloser, error)
- func (ts *ImplicitGCPCloudStorage) List(ctx context.Context, prefix string) *ListIterator
- func (ts *ImplicitGCPCloudStorage) ListWithOptions(ctx context.Context, listOptions *ListOptions) *ListIterator
- func (ts *ImplicitGCPCloudStorage) Write(ctx context.Context, key string, body []byte, contentType *string) error
- type ListIterator
- type ListObject
- type ListOptions
- type SignedURLOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSCloudStorage ¶
type AWSCloudStorage struct {
// contains filtered or unexported fields
}
func (*AWSCloudStorage) Attributes ¶
func (ts *AWSCloudStorage) Attributes( ctx context.Context, key string, ) (*Attributes, error)
func (*AWSCloudStorage) Close ¶
func (ts *AWSCloudStorage) Close()
func (*AWSCloudStorage) CreateBucket ¶
func (*AWSCloudStorage) Delete ¶
func (ts *AWSCloudStorage) Delete( ctx context.Context, key string, ) error
func (*AWSCloudStorage) GetRangeReader ¶ added in v0.1.0
func (ts *AWSCloudStorage) GetRangeReader( ctx context.Context, key string, offset, length int64, ) (io.ReadCloser, error)
func (*AWSCloudStorage) GetReader ¶ added in v0.0.3
func (ts *AWSCloudStorage) GetReader( ctx context.Context, key string, ) (io.ReadCloser, error)
func (*AWSCloudStorage) GetSignedURL ¶
func (ts *AWSCloudStorage) GetSignedURL( ctx context.Context, key string, opts *SignedURLOption, ) (string, error)
func (*AWSCloudStorage) GetWriter ¶ added in v0.0.3
func (ts *AWSCloudStorage) GetWriter( ctx context.Context, key string, ) (io.WriteCloser, error)
func (*AWSCloudStorage) List ¶
func (ts *AWSCloudStorage) List( ctx context.Context, prefix string, ) *ListIterator
func (*AWSCloudStorage) ListWithOptions ¶ added in v0.6.0
func (ts *AWSCloudStorage) ListWithOptions( ctx context.Context, listOptions *ListOptions, ) *ListIterator
type AWSTestCloudStorage ¶
type AWSTestCloudStorage struct {
// contains filtered or unexported fields
}
func (*AWSTestCloudStorage) Attributes ¶
func (ts *AWSTestCloudStorage) Attributes( ctx context.Context, key string, ) (*Attributes, error)
func (*AWSTestCloudStorage) Close ¶
func (ts *AWSTestCloudStorage) Close()
func (*AWSTestCloudStorage) CreateBucket ¶
func (*AWSTestCloudStorage) Delete ¶
func (ts *AWSTestCloudStorage) Delete( ctx context.Context, key string, ) error
func (*AWSTestCloudStorage) GetRangeReader ¶ added in v0.1.0
func (ts *AWSTestCloudStorage) GetRangeReader( ctx context.Context, key string, offset, length int64, ) (io.ReadCloser, error)
func (*AWSTestCloudStorage) GetReader ¶ added in v0.0.3
func (ts *AWSTestCloudStorage) GetReader( ctx context.Context, key string, ) (io.ReadCloser, error)
func (*AWSTestCloudStorage) GetSignedURL ¶
func (ts *AWSTestCloudStorage) GetSignedURL( ctx context.Context, key string, opts *SignedURLOption, ) (string, error)
func (*AWSTestCloudStorage) GetWriter ¶ added in v0.0.3
func (ts *AWSTestCloudStorage) GetWriter( ctx context.Context, key string, ) (io.WriteCloser, error)
func (*AWSTestCloudStorage) List ¶
func (ts *AWSTestCloudStorage) List( ctx context.Context, prefix string, ) *ListIterator
func (*AWSTestCloudStorage) ListWithOptions ¶ added in v0.6.0
func (ts *AWSTestCloudStorage) ListWithOptions( ctx context.Context, listOptions *ListOptions, ) *ListIterator
type Attributes ¶
type Attributes struct { // CacheControl specifies caching attributes that services may use // when serving the blob. // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control CacheControl string // ContentDisposition specifies whether the blob content is expected to be // displayed inline or as an attachment. // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition ContentDisposition string // ContentEncoding specifies the encoding used for the blob's content, if any. // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding ContentEncoding string // ContentLanguage specifies the language used in the blob's content, if any. // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language ContentLanguage string // ContentType is the MIME type of the blob. It will not be empty. // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type ContentType string // Metadata holds key/value pairs associated with the blob. // Keys are guaranteed to be in lowercase, even if the backend service // has case-sensitive keys (although note that Metadata written via // this package will always be lowercased). If there are duplicate // case-insensitive keys (e.g., "foo" and "FOO"), only one value // will be kept, and it is undefined which one. Metadata map[string]string // ModTime is the time the blob was last modified. ModTime time.Time // Size is the size of the blob's content in bytes. Size int64 // MD5 is an MD5 hash of the blob contents or nil if not available. MD5 []byte }
Attributes contains attributes about a blob.
type CloudStorage ¶
type CloudStorage interface { List(ctx context.Context, prefix string) *ListIterator ListWithOptions(ctx context.Context, options *ListOptions) *ListIterator Get(ctx context.Context, key string) ([]byte, error) Delete(ctx context.Context, key string) error CreateBucket(ctx context.Context, bucketPrefix string, expirationTimeDays int64) error Close() GetSignedURL(ctx context.Context, key string, opts *SignedURLOption) (string, error) Write(ctx context.Context, key string, body []byte, contentType *string) error Attributes(ctx context.Context, key string) (*Attributes, error) GetReader(ctx context.Context, key string) (io.ReadCloser, error) GetRangeReader(ctx context.Context, key string, offset, length int64) (io.ReadCloser, error) GetWriter(ctx context.Context, key string) (io.WriteCloser, error) Exists(ctx context.Context, key string) (bool, error) }
func NewCloudStorage ¶
func NewCloudStorageWithOption ¶ added in v0.4.0
func NewCloudStorageWithOption(ctx context.Context, isTesting bool, bucketProvider, bucketName string, cloudStorageOpts CloudStorageOption) (CloudStorage, error)
type CloudStorageOption ¶ added in v0.4.0
type CloudStorageOption struct { AWSS3Endpoint string AWSS3Region string AWSS3AccessKeyID string AWSS3SecretAccessKey string AWSEnableS3Accelerate bool // AWSTokenDuration is the duration of the STS token will be valid. If not set, the assumed role will use default // expiry duration. See https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#STS.AssumeRoleWithWebIdentity // for more information. // // Important notes: the value MUST BE no more than the maximum session duration of the AWS role. // If unset, it will use the default maximum session duration of the AWS role. AWSTokenDuration time.Duration // The amount of time the token will be refreshed before they expire. It's important to refresh token before they // expire to reduce risk of using expired token. The refresh token is not done periodically in the background, // instead will be triggered by any operation using AWS session. // If unset, will default to no expiry window. AWSTokenExpiryWindow time.Duration GCPCredentialsJSON string GCPStorageEmulatorHost string }
type ExplicitGCPCloudStorage ¶ added in v0.0.5
type ExplicitGCPCloudStorage struct {
// contains filtered or unexported fields
}
func (*ExplicitGCPCloudStorage) Attributes ¶ added in v0.0.5
func (ts *ExplicitGCPCloudStorage) Attributes( ctx context.Context, key string, ) (*Attributes, error)
func (*ExplicitGCPCloudStorage) Close ¶ added in v0.0.5
func (ts *ExplicitGCPCloudStorage) Close()
func (*ExplicitGCPCloudStorage) CreateBucket ¶ added in v0.0.5
func (*ExplicitGCPCloudStorage) Delete ¶ added in v0.0.5
func (ts *ExplicitGCPCloudStorage) Delete( ctx context.Context, key string, ) error
func (*ExplicitGCPCloudStorage) GetRangeReader ¶ added in v0.1.0
func (ts *ExplicitGCPCloudStorage) GetRangeReader( ctx context.Context, key string, offset, length int64, ) (io.ReadCloser, error)
func (*ExplicitGCPCloudStorage) GetReader ¶ added in v0.0.5
func (ts *ExplicitGCPCloudStorage) GetReader( ctx context.Context, key string, ) (io.ReadCloser, error)
func (*ExplicitGCPCloudStorage) GetSignedURL ¶ added in v0.0.5
func (ts *ExplicitGCPCloudStorage) GetSignedURL( ctx context.Context, key string, opts *SignedURLOption, ) (string, error)
func (*ExplicitGCPCloudStorage) GetWriter ¶ added in v0.0.5
func (ts *ExplicitGCPCloudStorage) GetWriter( ctx context.Context, key string, ) (io.WriteCloser, error)
func (*ExplicitGCPCloudStorage) List ¶ added in v0.0.5
func (ts *ExplicitGCPCloudStorage) List( ctx context.Context, prefix string, ) *ListIterator
func (*ExplicitGCPCloudStorage) ListWithOptions ¶ added in v0.6.0
func (ts *ExplicitGCPCloudStorage) ListWithOptions( ctx context.Context, listOptions *ListOptions, ) *ListIterator
type GCPTestCloudStorage ¶
type GCPTestCloudStorage struct {
// contains filtered or unexported fields
}
func (*GCPTestCloudStorage) Attributes ¶
func (ts *GCPTestCloudStorage) Attributes( ctx context.Context, key string, ) (*Attributes, error)
func (*GCPTestCloudStorage) Close ¶
func (ts *GCPTestCloudStorage) Close()
func (*GCPTestCloudStorage) CreateBucket ¶
func (*GCPTestCloudStorage) Delete ¶
func (ts *GCPTestCloudStorage) Delete( ctx context.Context, key string, ) error
func (*GCPTestCloudStorage) GetRangeReader ¶ added in v0.1.0
func (ts *GCPTestCloudStorage) GetRangeReader( ctx context.Context, key string, offset, length int64, ) (io.ReadCloser, error)
func (*GCPTestCloudStorage) GetReader ¶ added in v0.0.3
func (ts *GCPTestCloudStorage) GetReader( ctx context.Context, key string, ) (io.ReadCloser, error)
func (*GCPTestCloudStorage) GetSignedURL ¶
func (ts *GCPTestCloudStorage) GetSignedURL( ctx context.Context, key string, opts *SignedURLOption, ) (string, error)
func (*GCPTestCloudStorage) GetWriter ¶ added in v0.0.3
func (ts *GCPTestCloudStorage) GetWriter( ctx context.Context, key string, ) (io.WriteCloser, error)
func (*GCPTestCloudStorage) List ¶
func (ts *GCPTestCloudStorage) List( ctx context.Context, prefix string, ) *ListIterator
func (*GCPTestCloudStorage) ListWithOptions ¶ added in v0.6.0
func (ts *GCPTestCloudStorage) ListWithOptions( ctx context.Context, listOptions *ListOptions, ) *ListIterator
type ImplicitGCPCloudStorage ¶ added in v0.0.5
type ImplicitGCPCloudStorage struct {
// contains filtered or unexported fields
}
func (*ImplicitGCPCloudStorage) Attributes ¶ added in v0.0.5
func (ts *ImplicitGCPCloudStorage) Attributes( ctx context.Context, key string, ) (*Attributes, error)
func (*ImplicitGCPCloudStorage) Close ¶ added in v0.0.5
func (ts *ImplicitGCPCloudStorage) Close()
func (*ImplicitGCPCloudStorage) CreateBucket ¶ added in v0.0.5
func (*ImplicitGCPCloudStorage) Delete ¶ added in v0.0.5
func (ts *ImplicitGCPCloudStorage) Delete( ctx context.Context, key string, ) error
func (*ImplicitGCPCloudStorage) GetRangeReader ¶ added in v0.1.0
func (ts *ImplicitGCPCloudStorage) GetRangeReader( ctx context.Context, key string, offset, length int64, ) (io.ReadCloser, error)
func (*ImplicitGCPCloudStorage) GetReader ¶ added in v0.0.5
func (ts *ImplicitGCPCloudStorage) GetReader( ctx context.Context, key string, ) (io.ReadCloser, error)
func (*ImplicitGCPCloudStorage) GetSignedURL ¶ added in v0.0.5
func (ts *ImplicitGCPCloudStorage) GetSignedURL( ctx context.Context, key string, opts *SignedURLOption, ) (string, error)
func (*ImplicitGCPCloudStorage) GetWriter ¶ added in v0.0.5
func (ts *ImplicitGCPCloudStorage) GetWriter( ctx context.Context, key string, ) (io.WriteCloser, error)
func (*ImplicitGCPCloudStorage) List ¶ added in v0.0.5
func (ts *ImplicitGCPCloudStorage) List( ctx context.Context, prefix string, ) *ListIterator
func (*ImplicitGCPCloudStorage) ListWithOptions ¶ added in v0.6.0
func (ts *ImplicitGCPCloudStorage) ListWithOptions( ctx context.Context, listOptions *ListOptions, ) *ListIterator
type ListIterator ¶
type ListIterator struct {
// contains filtered or unexported fields
}
ListIterator iterates over List results.
func (*ListIterator) Next ¶
func (i *ListIterator) Next(ctx context.Context) (*ListObject, error)
type ListObject ¶
type ListObject struct { // Key is the key for this blob. Key string // ModTime is the time the blob was last modified. ModTime time.Time // Size is the size of the blob's content in bytes. Size int64 // MD5 is an MD5 hash of the blob contents or nil if not available. MD5 []byte // IsDir indicates that this result represents a "directory" in the // hierarchical namespace, ending in ListOptions.Delimiter. Key can be // passed as ListOptions.Prefix to list items in the "directory". // Fields other than Key and IsDir will not be set if IsDir is true. IsDir bool }
ListObject represents a single blob returned from List.
type ListOptions ¶ added in v0.6.0
type ListOptions struct { // Prefix indicates that only blobs with a key starting with this prefix // should be returned. Prefix string // Delimiter sets the delimiter used to define a hierarchical namespace, // like a filesystem with "directories". It is highly recommended that you // use "" or "/" as the Delimiter. Other values should work through this API, // but service UIs generally assume "/". // // An empty delimiter means that the bucket is treated as a single flat // namespace. // // A non-empty delimiter means that any result with the delimiter in its key // after Prefix is stripped will be returned with ListObject.IsDir = true, // ListObject.Key truncated after the delimiter, and zero values for other // ListObject fields. These results represent "directories". Multiple results // in a "directory" are returned as a single result. Delimiter string }
ListOptions sets options for listing blobs.
Click to show internal directories.
Click to hide internal directories.