The Azure File Sharing service provides a variety of ways to access interfaces, including Powershell,.net, Java, Python, and so on, and this chapter focuses on using Python to access Azure file storage.
- For the installation of the Python environment, the installation configuration for the Azure SDK for Python, the module upgrade on Linux and Windows, please refer to the blog:
http://cloudapps.blog.51cto.com/3136598/1772880
- First, import the modules required for the Azure storage file:
from azure.storage.file import fileservice
from azure.storage.file import contentsettings
- The default service endpoint is to global Azure, so you first need to set up a service URL for China Azure, and you need to set up your storage account, stored key and other basic information
Span style= "color:black; font-size:9pt; " >endpointsuffix = "core.chinacloudapi.cn"
mystorageaccount = "Mystorageacctfile"
mystoragekey = "Your account Key"
mysharename = "Mypythonshare"
mydirname = "Sampledir"
- Initialize your file service:
#initial file service
file_service = FileService(account_name=myStorageAccount, account_key=myStorageKey,endpoint_suffix=endpointSuffix)
5. Create your file share and directory:
#create file share
if(not file_service.exists(mysharename)):
file_service.create_share(mysharename)
#create directory under the share
if(not file_service.exists(mysharename,mydirname)):
file_service.create_directory(mysharename, mydirname)
6. After the catalog is created, you can upload files, write files, upload or write files in several ways, such as
Create_ File_from_bytes or
create_file_from_text ,
Create_file_from_path
create_file_from_stream , create_file_from_bytes et cetera, use as needed , this test uses the
create_file_from_path :
# upload a file to the share at directory you just created
file_service.create_file_from_path(
mysharename,
mydirname,
‘hdinsight.publishsettings‘,
‘d:\\hdinsight.publishsettings‘)
7. 你可以通过Python的API列举出共享下,根目录下所有的文件,或者指定目录,列出指定目录下所有的文件或者目录:
#List files and directories of the share
filediritertors = file_service.list_directories_and_files(mysharename,mydirname)
for file_or_dir in filediritertors:
print(file_or_dir.name)
8. 那么怎么从文件中获取内容或者获取整个文件? Python SDK也提供了多种方式,比如get_file_to_path, get_file_to_stream, get_file_to_bytes, or get_file_to_text. 等,本例中奖文件保存到本地:
#Download file to local path
file_service.get_file_to_path(mysharename, mydirname, ‘hdinsight.publishsettings‘, ‘D:\\movie\\hdinsight.publishsettings‘)
9. 最后,看看如何删除文件,删除目录,删除共享,也比较简单:
#delete a file
file_service.delete_file(mysharename, mydirname, ‘hdinsight.publishsettings‘)
#delete a directory
file_service.delete_directory(mysharename,mydirname)
#delete a share
if(file_service.exists(share_name=mysharename)):
file_service.delete_share(mysharename)
利用Python来访问文件共享还是非常方便的,File share的方式也利用多种不同的平台,不同的语言,提供数据交换和共享,可以在合适的场景中使用。
Azure File File Share (6): Developing with Python