1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16
17 package azure
18
19 import (
20 "context"
21 "io"
22
23 "perkeep.org/pkg/blob"
24 )
25
26 func (sto *azureStorage) Fetch(ctx context.Context, blob blob.Ref) (file io.ReadCloser, size uint32, err error) {
27 if sto.cache != nil {
28 if file, size, err = sto.cache.Fetch(ctx, blob); err == nil {
29 return
30 }
31 }
32 file, sz, err := sto.azureClient.Get(ctx, sto.container, blob.String())
33 return file, uint32(sz), err
34 }
35
36 func (sto *azureStorage) SubFetch(ctx context.Context, br blob.Ref, offset, length int64) (rc io.ReadCloser, err error) {
37 return sto.azureClient.GetPartial(ctx, sto.container, br.String(), offset, length)
38 }