2017-07-10 42 views
0

是否有Azure CLI上傳選項可以將文件並行上傳到blob存儲。有很多文件的文件夾。目前我唯一的選擇是用下面的命令做一個for循環,然後依次上傳。Azure CLI:並行上傳文件的bash腳本

az storage blob upload --file $f --container-name $CONTAINERNAME --name $FILEINFO 

回答

1

現在,這是不可能的。使用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" 
+0

Ya我知道Azcopy問題是我使用的CentOS版本是6.6,azcopy不受支持。由於這是一個替代方案,我必須使用Azure CLI2.0。在更高版本的Azure CLI中擁有該功能將會很好。 – kumar