是否有Azure CLI上载选项可将文件并行上传到blob存储。有大量文件的文件夹。目前我唯一的选择是使用以下命令执行for循环,并按顺序上传。
az storage blob upload --file $f --container-name $CONTAINERNAME --name $FILEINFO
答案 0 :(得分:2)
目前,这是不可能的。使用Azure CLI 2.0,没有选项或参数可以递归地将指定目录的内容上载到Blob存储。因此,Azure CLi 2.0不支持并行上传文件。
如果您想并行上传多个文件,可以使用Azcopy。
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /S
指定选项/ S递归地将指定目录的内容上传到Blob存储,这意味着所有子文件夹及其文件也将上传。
正如您所提到的,您可以使用循环上传文件,但它不支持并行上传文件。请尝试以下脚本。
export AZURE_STORAGE_ACCOUNT='PUT_YOUR_STORAGE_ACCOUNT_HERE'
export AZURE_STORAGE_ACCESS_KEY='PUT_YOUR_ACCESS_KEY_HERE'
export container_name='nyc-tlc-sf'
export source_folder='/Volumes/MacintoshDisk02/Data/Misc/NYC_TLC/yellow/2012/*'
export destination_folder='yellow/2012/'
#echo "Creating container..."
#azure storage container create $container_name
for f in $source_folder
do
echo "Uploading $f file..."
azure storage blob upload $f $container_name $destination_folder$(basename $f)
done
echo "List all blobs in container..."
azure storage blob list $container_name
echo "Completed"