This article is contributed. See the original author and article here.

This article provides a python sample code for put block blob list.

The maximum size for a block blob created via Put Blob is 256 MiB for version 2016-05-31 and later, and 64 MiB for older versions. If your blob is larger than 256 MiB for version 2016-05-31 and later, or 64 MiB for older versions, you must upload it as a set of blocks. Therefore, if you want to upload a blob larger than 256 MiB, you may need to use Put Block List operations

This sample code need to use azure-storage-blob sdk version 2.1.0 .

Install the sdk as following:

pip install azure-storage-blob==2.1.0


Then refer the below sample code:



from import BlockBlobService, PublicAccess, BlobBlock
import random, string
from random import randint
# Block Blob Operations
def block_blob_operations():
    # Define the upload file
    file_to_upload = "largerthan256MBfile.mp4"
    # Define the block size
    block_size = 1024*1024*4 #4MB
    # Create blockblob_service object
    blockblob_service = BlockBlobService(
        account_name="youraccountname", account_key="youraccountkey")
    # Define container name
    container_name = 'blockblobcontainer' + get_random_name(6)
    print("Container name:" + container_name)
        # Create a new container
        print('1. Create a container with name - ' + container_name)
        blocks = []
        # Read the file
        print('2. Upload file to block blob')
        with open(file_to_upload, "rb") as file:
            file_bytes =
            while len(file_bytes) > 0:
                block_id = get_random_name(32)
                blockblob_service.put_block(container_name, file_to_upload, file_bytes, block_id)
                file_bytes =
        blockblob_service.put_block_list(container_name, file_to_upload, blocks)
        print('3. Get the block list')
        blockslist = blockblob_service.get_block_list(container_name, file_to_upload, None, 'all')
        blocks = blockslist.committed_blocks
        print('4. Enumerate blocks in block blob')
        for block in blocks:
            print('Block ' +
        print('5. Completed')
        #if blockblob_service.exists(container_name):
         #   blockblob_service.delete_container(container_name)
def get_random_name(length):
    return ''.join(random.choice(string.ascii_lowercase) for i in range(length)) 
# Main method.
if __name__ == '__main__':




Tested above python code, following is run result:




Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.

%d bloggers like this: