gpt4 book ai didi

python - 使用 python 将大 Azure blob 合并到一个本地文件

转载 作者:行者123 更新时间:2023-12-01 06:29:31 30 4
gpt4 key购买 nike

我正在使用 python 3.6 和适用于 Azure blob 版本 1.5.0 的 python SDK,并且希望将多个 Azure blob 合并到单个本地文件中。我设法做到了这一点,但是当我尝试附加超出机器内存的 blob 时,操作失败。将 blob 内容按 block 写入文件的最佳方法是什么?这是我的代码,不适用于大于机器内存的 blob

blob_files_names = blob_service.list_blob_names(container_name=blob_container_name, prefix=prefix)
with open(trg_path, 'wb') as file:
for blob_file_name in blob_files_names:
blob = blob_service.get_blob_to_bytes(container_name=blob_container_name, blob_name=blob_file_name)
file.write(blob.content)

最佳答案

最后我设法使用函数 get_blob_to_path 来做到这一点具有附加打开模式。它之所以有效,是因为此函数将每个 blob 内容按大小块 MAX_CHUNK_GET_SIZE 写入文件末尾。

blob_files_names = blob_service.list_blob_names(container_name=blob_container_name, prefix=prefix)
for blob_file_name in blob_files_names:
blob_service.get_blob_to_path(container_name=blob_container_name, blob_name=blob_file_name,
file_path=trg_path, max_connections=1, open_mode='ab')

关于python - 使用 python 将大 Azure blob 合并到一个本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59971879/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com