如何在不下载的情况下从Azure Blob读取pickle文件



到目前为止,我可以加载它,但我必须下载它,这需要太多时间。我想直接阅读pickle文件
这是代码

def get_vector_blob(blob_name):
connection_string = <connection string>
container_name = <container name>
blob_client = BlobClient.from_connection_string(connection_string, container_name, blob_name)
downloader = blob_client.download_blob(0)

# Load to pickle
b = downloader.readall()
vector = pickle.loads(b)

return vector

尝试从azure.storage.blob.baseblobservice读取(流(或get_blob_to_stream

from azure.storage.blob.baseblobservice import BaseBlobService
import io
connection_string = ""
container_name = ""
blob_name = ""
blob_service = BaseBlobService(connection_string=connection_string)
with io.BytesIO() as input_io:
blob_service.get_blob_to_stream(container_name=container_name, blob_name=blob_name, stream=input_io)

参考资料:使用python访问azure blob存储文件,无需下载-Microsoft Q&一个和hdf5-Azure存储帐户blob流与Python-堆栈溢出

最新更新