Search code examples
azureazure-functionsazure-blob-storage

How to create zip from multiple azure blob files?


I have a case where I need to provide a zip file to download from browser from the multiple files in the Azure blob storage?

I believe that this can't be done with out downloading the files to a machine and the pack it.

(I use Azure functions for API's, so downloading them to function memory is not kinda good & end zip file could be ~5 GB)

Are there any other alternatives to achieve this?


Solution

  • create zip from multiple azure blob files?

    I agree with Joel Cochran's comment, you can use the Azure Data factory to zip multiple files from azure blob storage.

    First create destination container to store all blob files into zip format from source container.

    Portal:

    These are the files stored in the source container

    enter image description here

    Now, I created the Binary dataset for both source and destination container. In the source dataset give the path till the required folder.

    Portal: enter image description here

    In the destination, give your path and compression type ZipDeflate(.zip) like below,

    Portal:

    enter image description here

    Execute the copy activity and you will see the required file in the destination container with zip file.

    Output: enter image description here enter image description here Now, you can download the zipped files from Azure blob storage.

    Reference:

    Copy and transform data in Azure Blob Storage - Azure Data Factory & Azure Synapse | Microsoft Learn