in pkg/download/blob.go [43:66]
func (b blobDownload) getURL() (string, error) {
client, err := storage.NewClient(b.accountName, b.accountKey,
b.blob.StorageBase, storage.DefaultAPIVersion, true)
if err != nil {
return "", errors.Wrap(err, "failed to initialize azure storage client")
}
// get read-only
blobStorageClient := client.GetBlobService()
container := blobStorageClient.GetContainerReference(b.blob.Container)
blob := container.GetBlobReference(b.blob.Blob)
options := storage.BlobSASOptions{
BlobServiceSASPermissions: storage.BlobServiceSASPermissions{Read: true},
SASOptions: storage.SASOptions{
Expiry: time.Now().UTC().Add(blobSASDuration),
},
}
sasURL, err := blob.GetSASURI(options)
if err != nil {
return "", errors.Wrap(err, "failed to generate SAS key for blob")
}
return sasURL, nil
}