Documentation
¶
Index ¶
- Constants
- func ParseHost(host string) (bucket, region, endpoint string, forcePathStyle bool)
- func ParseURL(s, endpoint string) (bucket, region, key string, err error)
- type ReplicaClient
- func (c *ReplicaClient) DeleteAll(ctx context.Context) error
- func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.FileInfo) error
- func (c *ReplicaClient) Init(ctx context.Context) (err error)
- func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID) (ltx.FileIterator, error)
- func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, offset, size int64) (io.ReadCloser, error)
- func (c *ReplicaClient) Type() string
- func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, r io.Reader) (*ltx.FileInfo, error)
Constants ¶
const DefaultRegion = "us-east-1"
DefaultRegion is the region used if one is not specified.
const MaxKeys = 1000
MaxKeys is the number of keys S3 can operate on per batch.
const ReplicaClientType = "s3"
ReplicaClientType is the client type for this package.
Variables ¶
This section is empty.
Functions ¶
func ParseHost ¶ added in v0.3.3
ParseHost parses the host/endpoint for an S3-like storage system. Endpoints: https://docs.aws.amazon.com/general/latest/gr/s3.html
Types ¶
type ReplicaClient ¶ added in v0.3.5
type ReplicaClient struct {
// AWS authentication keys.
AccessKeyID string
SecretAccessKey string
// S3 bucket information
Region string
Bucket string
Path string
Endpoint string
ForcePathStyle bool
SkipVerify bool
// Upload configuration
PartSize int64 // Part size for multipart uploads (default: 5MB)
Concurrency int // Number of concurrent parts to upload (default: 5)
// contains filtered or unexported fields
}
ReplicaClient is a client for writing LTX files to S3.
func NewReplicaClient ¶ added in v0.3.5
func NewReplicaClient() *ReplicaClient
NewReplicaClient returns a new instance of ReplicaClient.
func (*ReplicaClient) DeleteAll ¶ added in v0.3.5
func (c *ReplicaClient) DeleteAll(ctx context.Context) error
DeleteAll deletes all files.
func (*ReplicaClient) DeleteLTXFiles ¶ added in v0.5.0
DeleteLTXFiles deletes one or more LTX files.
func (*ReplicaClient) Init ¶ added in v0.3.5
func (c *ReplicaClient) Init(ctx context.Context) (err error)
Init initializes the connection to S3. No-op if already initialized.
func (*ReplicaClient) LTXFiles ¶ added in v0.5.0
func (c *ReplicaClient) LTXFiles(ctx context.Context, level int, seek ltx.TXID) (ltx.FileIterator, error)
LTXFiles returns an iterator over all LTX files on the replica for the given level.
func (*ReplicaClient) OpenLTXFile ¶ added in v0.5.0
func (c *ReplicaClient) OpenLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, offset, size int64) (io.ReadCloser, error)
OpenLTXFile returns a reader for an LTX file Returns os.ErrNotExist if no matching index/offset is found.
func (*ReplicaClient) Type ¶ added in v0.3.5
func (c *ReplicaClient) Type() string
Type returns "s3" as the client type.