从python中的azure blob存储中读取文件

2024-04-25 08:21:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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,因为我的程序不起作用

你知道怎么解决吗


Tags: 文件storename文本jsondataserviceitems
1条回答
网友
1楼 · 发布于 2024-04-25 08:21:01

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

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

相关问题 更多 >