Azure Storage transfer tool and data movement library
Clone or download
Latest commit efb1710 Nov 5, 2018

README.md

Build Status Build Status Build status codecov PyPI Docker Pulls Image Layers

blobxfer

blobxfer is an advanced data movement tool and library for Azure Storage Blob and Files. With blobxfer you can copy your files into or out of Azure Storage with the CLI or integrate the blobxfer data movement library into your own Python scripts.

Major Features

  • Command-line interface (CLI) providing data movement capability to and from Azure Blob and File Storage
  • Standalone library for integration with scripts or other Python packages
  • High-performance design with asynchronous transfers and disk I/O
  • Supports ingress, egress and synchronization of entire directories, containers and file shares
  • YAML configuration driven execution support
  • Fine-grained resume support including resuming a broken operation within a file or object
  • Vectored IO support
    • stripe mode allows striping a single file across multiple blobs (even to multiple storage accounts) to break through single blob or fileshare throughput limits
    • replica mode allows replication of a file across multiple destinations including to multiple storage accounts
  • Synchronous copy with cross-mode (object transform) replication support (including block-level copies for Block blobs)
  • Client-side encryption support
  • Support all Azure Blob types and Azure Files for both upload and download
  • Advanced skip options for rsync-like operations
  • Store/restore POSIX filemode and uid/gid
  • Support reading/pipe from stdin including to page blob destinations
  • Support reading from blob and file share snapshots for downloading and synchronous copy
  • Support for setting access tier on objects for uploading and synchronous copy
  • Configurable one-shot block upload support
  • Configurable chunk size for both upload and download
  • Automatic block size selection for block blob uploading
  • Automatic uploading of VHD/VHDX files as page blobs
  • Include and exclude filtering support
  • Rsync-like delete support
  • No clobber support in either direction
  • Automatic content type tagging
  • File logging support
  • Support for HTTP proxies

Installation

There are three ways to install blobxfer:

  • blobxfer Python package from PyPI
  • Pre-built binaries available under Releases
  • Docker images are available for both Linux and Windows platforms on Docker Hub

Please refer to the installation guide for more information on how to install blobxfer.

Documentation

Please refer to the blobxfer documentation for more details and usage information.

Change Log

Please see the Change Log for project history.


Please see this project's Code of Conduct and Contributing guidelines.