首页 编程教程正文

用python对Azure Blob Storage进行操作

piaodoo 编程教程 2020-02-22 22:01:22 907 0 python教程

本文来源吾爱破解论坛

本帖最后由 爆炒小提莫 于 2018-12-10 00:51 编辑

由于项目中需要使用到微软的Azure Blob Storage进行文件存储,我们需要用python代码去做一些自动化的检测,在这里写一下自己的操作代码。
思路:把需要检查的文件名写在一张properties配置文件中或者维护在数据库中,在检查的时候把文件名读取到代码的列表里面,然后去遍历blob storage中的文件,查找文件是否已经存在于blob中。
对于blob的操作,网上比较少且基本一致,没有达到自己想要的效果,最好去看源码,或者用idea工具去看代码中的方法。

1.首先安装azure-storage:pip install azure-storage
2.BlockBlobService 的基本操作方法

a.png (102 KB, 下载次数: 0)

下载附件  保存到相册

BlockBlobService的方法图1

2018-12-10 00:42 上传


b.png (108.5 KB, 下载次数: 0)

下载附件  保存到相册

BlockBlobService的方法图2

2018-12-10 00:42 上传


c.png (26.63 KB, 下载次数: 0)

下载附件  保存到相册

BlockBlobService的方法图3

2018-12-10 00:43 上传


3.blob的信息在properties里面

d.png (164.22 KB, 下载次数: 0)

下载附件  保存到相册

2018-12-10 00:47 上传




代码呈现:
[Python] 纯文本查看 复制代码
# -*- coding:utf-8 -*-
from azure.storage.blob import BlockBlobService

# Azure Blob Storgae Account
mystoragename = u"mystorageaccount"

# Azure Blob Storgae Key
mystoragekey = u"myaccountkey=="

# 配置连接到Blob Storage信息, 中国区需要配置endpoint_suffix='core.chinacloudapi.cn'
blob_service = BlockBlobService(account_name=mystoragename, account_key=mystoragekey,endpoint_suffix='core.chinacloudapi.cn')

# param str container_name: 一个已经存在于storage accout下的 container 名称
container_name = "mycontainer"
filelist=['a.txt','b.txt']
blob_file_list=[]

# blob 文件名称是带完整的路径的: /a/b/c/d.txt,一个完整路径的文件就是一个blob,需要截取最后的文件名
for blob in generator:
    #print(blob.name)
    #print(blob.properties.content_length) # blob的信息在properties里面
    print(blob.name.split("/")[-1])
    blob_file_list.append(blob.name.split("/")[-1])

file_not_in_blob = []
print(file_list)
for i in filelist:
    if i not in blob_file_list:
        print(i)
        file_not_in_blob.append(i)

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7317.html

搜索