superhero
superhero

Reputation: 305

How to correctly grab blob names with whitespaces in azure from az cli

I have a user that is putting a lot of whitespaces in their filenames and this is causing a download script to go bad.

To get the names of the blobs I use this:

BLOBS=$(az storage blob list --container-name $c \
--account-name $AZURE_STORAGE_ACCOUNT  --account-key $AZURE_STORAGE_KEY \
--query "[].{name:name}" --output tsv) 

What is happening for a blob like blob with space.pdf it is getting stored as [blob\twith\tspace.pdf] where \t is the tab. When I iterate in an effort to download obviously I can't get at the file.

How can I do this correctly?

Upvotes: 0

Views: 866

Answers (1)

Ivan Glasenberg
Ivan Glasenberg

Reputation: 30035

You can use this command az storage blob download-batch.

I tested it in azure portal, all the blobs including whose name contains white-space are downloaded.

The command:

c=container_name
AZURE_STORAGE_ACCOUNT=xx
AZURE_STORAGE_KEY=xx

//download the blobs to clouddrive
cd clouddrive

az storage blob download-batch -d . -s $c --account-name $AZURE_STORAGE_ACCOUNT --account-key $AZURE_STORAGE_KEY

The test result:

enter image description here

Upvotes: 1

Related Questions