首页 > 解决方案 > 尝试使用python将json格式的元数据上传到存储blob

问题描述

下面是代码,

connection_string=';EndpointSuffix=core.windows.net'
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
container_name = "ringr-dev/source_metadata"
blob_client = blob_service_client.get_blob_client(container=container_name, blob="123.json")
Body=json.dumps(twilioMetadata)
with open(Body, "rb") as data:
    blob_client.upload_blob(data)

错误,

No file found 

“Body”是我们获取元数据的变量,数据必须放入名为 123.json 的存储 blob。

使用 aws 我使用命令,

bucket.put_object(Key='source_metadata/'+str(call.sid)+'.json',Body=json.dumps(twilioMetadata))

请指导如何解决此问题。谢谢!

标签: pythonpython-3.xazureazure-blob-storage

解决方案


不确定twilioMetadata是数据本身还是文件的路径。

假设twilioMetadata是数据本身,那么可以直接上传到azure。

这是示例代码:

from azure.storage.blob import BlobServiceClient
import json

#assume the variable is the data itself like below.
twilioMetadata ={1:'welcome',2:'to',3:'Geeks',4:'for',5:'Geeks'}

Body = json.dumps(twilioMetadata)

print(Body)

blob_service_client  = BlobServiceClient.from_connection_string("xxx")
blob_client = blob_service_client.get_blob_client("test5",blob="1234.json")


blob_client.upload_blob(Body)

print("**Completed**")

测试结果:

在此处输入图像描述

如果您还有更多问题,请告诉我:)。


推荐阅读