簡體   English   中英

上傳文件和簡歷到 azure blob 存儲 python

[英]Upload files and resume in azure blob storage python

下面是分塊上傳文件的代碼:

azure_container = "dummy-container"


file_path = "test.txt"

chunk_size=4*1024*1024

blob_service_client = BlobServiceClient.from_connection_string(azure_connection_string)
blob_client = blob_service_client.get_blob_client(container=azure_container, blob="testingfile.txt")


test_main = []
with open(file_path, 'rb') as datax:

    #while True:
    chunk_data = datax.read(chunk_size)
    print(len(chunk_data))
    #chunk_data = [str(chunk_data, 'utf-8').split("\r")]

    # for q in chunk_data[0]:
    #     time.sleep(0.5)
    #     print(q.strip())
    #print(chunk_data)
    blob_client.upload_blob(chunk_data, overwrite=True)

如果在上傳過程中發生某些事情,我想恢復上傳,因為我正在使用數據塊並記錄數據塊以從左側繼續,但是如何在不覆蓋的情況下上傳? 換句話說,在停止后繼續上傳相同的文件。

對於這個“異步”和“等待”工作正常。 但如果有更好的解決方案,請發布。

async def uploadin_files(file_path):
    for files_to_upload in file_path:
        time.sleep(2)
        blob_client = blob_service_client.get_blob_client(container=azure_container, blob=files_to_upload)
        with open(files_to_upload, 'rb') as datax:
            chunk_data_original = datax.read()
            blob_client.upload_blob(chunk_data_original, overwrite=True)
            print(files_to_upload,"Done uploading")

await uploadin_files(file_path_main)

它甚至在斷開連接后也能正常工作。網絡有時會再次連接回來!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM