Documentation
¶
Index ¶
- Constants
- func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Values, userinfo *url.Userinfo) (litestream.ReplicaClient, 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, useMetadata bool) (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, rd io.Reader) (info *ltx.FileInfo, err error)
Constants ¶
const MetadataKeyTimestamp = "litestreamtimestamp"
MetadataKeyTimestamp is the metadata key for storing LTX file timestamps in Azure Blob Storage. Azure metadata keys cannot contain hyphens, so we use litestreamtimestamp (C# identifier rules).
const ReplicaClientType = "abs"
ReplicaClientType is the client type for this package.
Variables ¶
This section is empty.
Functions ¶
func NewReplicaClientFromURL ¶ added in v0.5.3
func NewReplicaClientFromURL(scheme, host, urlPath string, query url.Values, userinfo *url.Userinfo) (litestream.ReplicaClient, error)
NewReplicaClientFromURL creates a new ReplicaClient from URL components. This is used by the replica client factory registration. URL format: abs://[account-name@]container/path
Types ¶
type ReplicaClient ¶
type ReplicaClient struct {
// Azure credentials
AccountName string
AccountKey string
Endpoint string
// Azure Blob Storage container information
Bucket string
Path string
// contains filtered or unexported fields
}
ReplicaClient is a client for writing LTX files to Azure Blob Storage.
func NewReplicaClient ¶
func NewReplicaClient() *ReplicaClient
NewReplicaClient returns a new instance of ReplicaClient.
func (*ReplicaClient) DeleteAll ¶ added in v0.5.0
func (c *ReplicaClient) DeleteAll(ctx context.Context) error
DeleteAll deletes all LTX files.
func (*ReplicaClient) DeleteLTXFiles ¶ added in v0.5.0
DeleteLTXFiles deletes LTX files.
func (*ReplicaClient) Init ¶
func (c *ReplicaClient) Init(ctx context.Context) (err error)
Init initializes the connection to Azure. 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, useMetadata bool) (ltx.FileIterator, error)
LTXFiles returns an iterator over all available LTX files. Azure always uses accurate timestamps from metadata since they're included in LIST operations at zero cost. The useMetadata parameter is ignored.
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 min/max TXID is not found.
func (*ReplicaClient) Type ¶
func (c *ReplicaClient) Type() string
Type returns "abs" as the client type.