Support for blobs that don't require SAS #132
Description
Feature Request Description
I'm not sure if this is a feature request or a bug report. That answer is contingent on whether anonymous (non-SAS) access to Azure Storage blobs is supported.
Describe Preferred Solution
Use the following command line:
blobxfer download --storage-url "https://dragentestdata.blob.core.windows.net/reference-genomes/Hsapiens/hash-tables/hg38_altaware_nohla-cnv-anchored.v8.tar" --local-path "/cromwell-executions/PairedFastqToVcf/b1ec8b8f-8f6b-4190-b87c-57ff65782d87/call-DRAGEN/inputs/dragentestdata.blob.core.windows.net/reference-genomes/Hsapiens/hash-tables/hg38_altaware_nohla-cnv-anchored.v8.tar" --chunk-size-bytes 104857600 --rename --include 'Hsapiens/hash-tables/hg38_altaware_nohla-cnv-anchored.v8.tar'
Expected result: Successful download of the tar file (note that the url works in Edge and other browsers without any issues)
Actual result:
- No file downloaded
- Error (non-zero) return code
- The following STDERR:
Traceback (most recent call last):
File "/usr/local/bin/blobxfer", line 33, in
sys.exit(load_entry_point('blobxfer==1.11.0', 'console_scripts', 'blobxfer')())
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1137, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1668, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/blobxfer-1.11.0-py3.9.egg/blobxfer_cli/cli.py", line 1094, in download
ctx.initialize(settings.TransferAction.Download)
File "/usr/local/lib/python3.9/site-packages/blobxfer-1.11.0-py3.9.egg/blobxfer_cli/cli.py", line 71, in initialize
self.credentials = settings.create_azure_storage_credentials(
File "/usr/local/lib/python3.9/site-packages/blobxfer-1.11.0-py3.9.egg/blobxfer_cli/settings.py", line 425, in create_azure_storage_credentials
creds.add_storage_account(name, key, endpoint)
File "/usr/local/lib/python3.9/site-packages/blobxfer-1.11.0-py3.9.egg/blobxfer/operations/azure/init.py", line 69, in add_storage_account
self._storage_accounts[name] = StorageAccount(
File "/usr/local/lib/python3.9/site-packages/blobxfer-1.11.0-py3.9.egg/blobxfer/operations/azure/init.py", line 106, in init
raise ValueError(
ValueError: no authentication credential given for storage account: dragentestdata
Describe Alternatives Considered
wget -O
Microsoft.Azure.Batch.ResourceFile.FromStorageContainerUrl()
Additional Context
This is running in the linux blobxfr container on a CentOS 7.