abs

package
v0.5.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2026 License: Apache-2.0 Imports: 24 Imported by: 1

Documentation

Index

Constants

View Source
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).

View Source
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

func (c *ReplicaClient) DeleteLTXFiles(ctx context.Context, a []*ltx.FileInfo) error

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.

func (*ReplicaClient) WriteLTXFile added in v0.5.0

func (c *ReplicaClient) WriteLTXFile(ctx context.Context, level int, minTXID, maxTXID ltx.TXID, rd io.Reader) (info *ltx.FileInfo, err error)

WriteLTXFile writes an LTX file to remote storage.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL