》一文中介绍了 Azure Blob Storage 的基本概念,并通过 C# 代码展示了如何进行基本的操作。最近笔者需要在 Linux 系统中做类似的事情,于是决定使用 Azure 提供的 Azure Storage SDK for Python 来操作 Blob Storage。这样今后无论在 Windows 上还是 Linux上,都用 Python 就可以了。对 Azure Blob Storage 概念还不太熟悉的同学请先参考。
。
查看代码操作的结果:
mystoragekey = <span style="color: #800000">"<span style="color: #800000">yyyy<span style="color: #800000">"<span style="color: #000000">
blob_service = BlockBlobService(account_name=mystoragename,account_key=<span style="color: #000000">mystoragekey)
blob_service.create_blob_from_path(
<span style="color: #800000">'<span style="color: #800000">nickcon<span style="color: #800000">'<span style="color: #000000">,<span style="color: #800000">'<span style="color: #800000">myblobcortana.jpg<span style="color: #800000">'<span style="color: #000000">,<span style="color: #800000">'<span style="color: #800000">cortana-wallpaper.jpg<span style="color: #800000">'<span style="color: #000000">,content_settings=ContentSettings(content_type=<span style="color: #800000">'<span style="color: #800000">image/jpg<span style="color: #800000">'))
mystoragekey = <span style="color: #800000">"<span style="color: #800000">yyyy<span style="color: #800000">"<span style="color: #000000">
blob_service = BlockBlobService(account_name=mystoragename,account_key=<span style="color: #000000">mystoragekey)
blob_service.set_container_acl(<span style="color: #800000">'<span style="color: #800000">nickcon<span style="color: #800000">',public_access=PublicAccess.Container)
mystoragekey = <span style="color: #800000">"<span style="color: #800000">yyyy<span style="color: #800000">"<span style="color: #000000">
blob_service = BlockBlobService(account_name=mystoragename,account_key=<span style="color: #000000">mystoragekey)
<span style="color: #008000">#<span style="color: #008000"> 下载一个 Blob Container 中的所有文件
<span style="color: #0000ff">def<span style="color: #000000"> downloadFilesInContainer(blobContainName):
generator =<span style="color: #000000"> blob_service.list_blobs(blobContainName)
<span style="color: #0000ff">for blob <span style="color: #0000ff">in<span style="color: #000000"> generator:
<span style="color: #008000">#<span style="color: #008000"> 获得 Blob 文件的目录路径
blobDirName =<span style="color: #000000"> os.path.dirname(blob.name)
<span style="color: #008000">#<span style="color: #008000"> 把 Blob Container 的名称也添加为一级目录
newBlobDirName =<span style="color: #000000"> os.path.join(blobContainName,blobDirName)
<span style="color: #008000">#<span style="color: #008000"> 检查文件目录是否存在,不存在就创建
<span style="color: #0000ff">if <span style="color: #0000ff">not<span style="color: #000000"> os.path.exists(newBlobDirName):
os.makedirs(newBlobDirName)
localFileName =<span style="color: #000000"> os.path.join(blobContainName,blob.name)
blob_service.get_blob_to_path(blobContainName,blob.name,localFileName)
<span style="color: #008000">#<span style="color: #008000"> 获得用户所有的 Blob Container
containerGenerator =<span style="color: #000000"> blob_service.list_containers()
<span style="color: #0000ff">for con <span style="color: #0000ff">in<span style="color: #000000"> containerGenerator:
downloadFilesInContainer(con.name)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。