在Python中从Azure BLOB存储中读取文件 [英] read file from azure blob storage in python

查看:23
本文介绍了在Python中从Azure BLOB存储中读取文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在读取Blob存储中的文件时遇到问题。 我的文件上只有文本。

例如,我想从我的文件中获取信息 我的文件

{......}

Ant我想像这样获取变量s = {......}

我像这样在Blob存储字符串中上传。

    blob = BlobClient.from_connection_string(conn_str="DefaultEndpointsProtocol=https;AccountName=dasdasdas;AccountKey=sdf+sdfds+dfds==;EndpointSuffix=core.windows.net", container_name="XXXXXX", blob_name="XXXX.json")
    
    
    store_items = 'swx'
    data = str(store_items) + str(conversation_reference)
    blob.upload_blob(data, overwrite=True)

现在我要获取什么值并使用它。

我尝试了一下

block_blob_service = BlockBlobService(account_name='XXXXX', account_key='XXXXX+XXXXX+XXXXX==')

blob2 = block_blob_service.get_blob_to_text('XXXXX', 'XXXXX.json')
print (blob2.content)

但它不起作用,它似乎是旧代码。 错误

NameError: name 'BlockBlobService' is not defined
它需要<;=2.10版本。我正在使用4.10,但无法使用2.10,因为我的程序将无法运行。

知道如何解决它吗?

推荐答案

也许您可以尝试使用此代码:

from azure.storage.blob import BlobServiceClient
connection_string=''
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
container_client = blob_service_client.get_container_client("<container name>")
blob_client = container_client.get_blob_client("<blob name>")
blobstr = blob_client.download_blob().readall().decode("utf-8") # read blob content as string

请参考Quickstart: Manage blobs with Python v12 SDK

这篇关于在Python中从Azure BLOB存储中读取文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆