我的传感器数据以分层结构存储在azure blob存储中:第一级:位置第二级:日期第三级:时间
因此,如果我的containername为“edge”,则传感器数据存储在 edge/location1/2021-07-09/07-00/
在这些文件夹中,传感器数据存储在json文件中。因此,我在这个网站上修改了代码如下
import json
import pandas as pd
import keyring
import os
STORAGEACCOUNTURL= "https://<mystorageaccount>.blob.core.windows.net"
STORAGEACCOUNTKEY= keyring.get_password('<name>', '<username>')
LOCALFILENAME= os.path.join(os.getcwd(), 'test_blob', 'blobstorage.txt')
CONTAINERNAME= "edge"
BLOBNAME= 'location1/2021-07-09/07-00/'
# download from blob
t1=time.time()
blob_service_client_instance = BlobServiceClient(account_url=STORAGEACCOUNTURL,
credential=STORAGEACCOUNTKEY)
blob_client_instance = blob_service_client_instance.get_blob_client(CONTAINERNAME, BLOBNAME,
snapshot=None)
with open(LOCALFILENAME, "wb") as my_blob:
blob_data = blob_client_instance.download_blob()
blob_data.readinto(my_blob)
t2=time.time()
print(("It takes %s seconds to download "+BLOBNAME) % (t2 - t1))
连接似乎正常,如果我将blobname设置为不存在的blob,如果我尝试下载该blob,就会出现blobnotfound错误,并且我可以使用 blob_service_client_instance.list_containers()
检索现有容器等。
但是下载总是检索空结果。知道原因吗(当然,是的:这些blob中存在json文件)?
暂无答案!
目前还没有任何答案,快来回答吧!