How to download entire directory from azure file share

Question:

Not able to download entire directory from azure file share in python

I have used all basic stuffs available in google

share = ShareClient.from_connection_string(connection_string, "filshare")
my_file = share.get_file_client("dir1/sub_idr1")
# print(dir(my_file))
stream_1 = my_file.download_file()
Asked By: Shreedhar Hegde

||

Answers:

I tried in my environment and got below results:

Initially I tried with python,

  • Unfortunately, ShareServiceClient Class which Interacts with A client to interact with the File Share Service at the account level. does not yet support Download operation in the Azure Python SDK.
  • ShareClient Class which only interacts with specific file Share in the account does not support Download Directory or file share option Python SDK..
  • But there’s one class ShareFileClient Class which supports downloading of individual files inside a directory but not entire directory, you can use this class to download the files from directory with Python SDK.

Also you check Azure Portal > Select your Storage account > File Share and Directory > There’s no option in Portal too to download the directory, but there’s an option to download specific file.

As workaround, if you need to download directory from file-share, you can use Az copy tool command to download the directory in your local machine.

I tried to download the Directory with Az-copy command and was able to download to it successfully!

Command:

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3xxxxxxxx' 'C:myDirectory' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Console:

enter image description here

Local environment:
enter image description here

Answered By: Venkatesan