我已将Azure软件包添加到我的Anaconda发行版中,并且还安装了Azure Storage SDK for Python。我正在尝试使用以下方式读取已上传到特定blob容器的文件:
from azure.storage import BlobService
blob_service = BlobService(account_name='azure subscription name',
account_key='azure subscription key')
blobs = []
marker = None
while True:
batch = blob_service.list_blobs('vrc', marker=marker, prefix='VRC_')
blobs.extend(batch)
if not batch.next_marker:
break
marker = batch.next_marker
for blob in blobs:
print(blob.name)
当我运行此脚本时,收到以下错误:
ImportError: No module named 'azure.storage'
如何解决此问题,以便我可以在blob容器中读取文本文件和PDF文件?
答案 0 :(得分:1)
不太确定您是如何安装存储sdk的,或者您正在使用的版本,但您只需要执行以下操作:
安装:
pip install azure-storage
导入并实例化blob服务:
from azure.storage.blob import BlockBlobService
blob_service = BlockBlobService(account_name="<storagename>",account_key="<storagekey>")
此时,您应该能够列出blob(或下载blob,或者您需要做的任何其他事情)。
答案 1 :(得分:0)
这是一个古老的问题,但由于最近已弃用SDK中的某些代码块而变得有意义。
也请按照以下说明获取具有指定日期的给定容器中的Blob文件列表。
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
storageconnectionstring='yourstorageconnectionstring'
blobclient=BlobServiceClient.from_connection_string(storageconnectionstring)
containerclient=blobclient.get_container_client('yourblobcontainername')
for blobs in containerclient.list_blobs():
print (blobs['name'],": Modified: ",blobs['last_modified'])