Đây là câu hỏi hay. Rất tiếc, tôi không thấy triển khai thực sự để tải lên các tệp lớn tùy ý. Vì vậy, từ những gì tôi thấy có nhiều công việc hơn để làm trên Python SDK, trừ khi tôi thiếu một cái gì đó thực sự quan trọng.
Mã mẫu được cung cấp trong tài liệu thực sự chỉ sử dụng một tệp văn bản và tải lên cùng một lúc. Không có mã thực nào chưa được triển khai (từ những gì tôi thấy trong số SDK Source code) để hỗ trợ tải lên các tệp lớn hơn.
Vì vậy, để bạn, làm việc với Blobs từ Python, bạn cần hiểu cách Azure Blob Storage hoạt động. Start here.
Sau đó, xem nhanh tài liệu REST API cho PutBlob operation. Nó được đề cập trong các nhận xét:
Kích thước tải lên tối đa cho khối màu là 64 MB. Nếu blob của bạn là lớn hơn 64 MB, bạn phải tải nó lên thành một tập hợp các khối. Để biết thêm thông tin , hãy xem các khối Đặt khối (REST API) và Đặt khối danh sách (REST API). Không cần thiết phải gọi cho Put Blob nếu bạn tải lên các đốm màu như một tập hợp các khối.
Tin vui là PutBlock và PutBlockList được triển khai trong SDK Python, nhưng không có mẫu nào được cung cấp để sử dụng. Những gì bạn phải làm là chia thủ công tệp của bạn thành các khối (khối) tối đa 4 MB mỗi tệp. và sau đó sử dụng chức năng put_block(self, container_name, blob_name, block, blockid, content_md5=None, x_ms_lease_id=None):
từ SDK python để tải lên các khối. Cuối cùng, bạn sẽ tải lên các khối song song. Tuy nhiên, đừng quên rằng bạn phải thực thi put_block_list(self, container_name, blob_name, block_list, content_md5=None, x_ms_blob_cache_control=None...
ở cuối để thực hiện tất cả các khối được tải lên.
Rất tiếc, tôi không phải là chuyên gia về Python để trợ giúp bạn thêm nữa, nhưng ít nhất tôi cung cấp cho bạn bức tranh đẹp về tình hình.