← All Platforms

PLATFORM · AZURE BLOB

Migrate to Azure Blob Storage — from anywhere.

MigrationFox moves content into Azure Blob Storage from the places your data actually lives today: Windows file shares, SharePoint document libraries, OneDrive accounts, and Google Drive. Every upload is chunked, every write is verified against the blob’s content hash before we mark the item done, and every credential is held as a Shared Key or SAS token encrypted at rest. No silent success, no “looks like it worked”.

Supported Sources

Four source types land directly in a blob container without an intermediate cloud copy:

Chunked Uploads for Large Files

Anything larger than 64 MB is uploaded as staged blocks, not a single PUT. The engine splits the stream into 8 MB blocks, uploads up to four blocks in parallel per blob, and commits the final blob with a PutBlockList once every block is acknowledged. A dropped connection in the middle of a 50 GB file resumes from the last committed block, not from zero.

The same path handles SMB shares where a 200 GB disk image or a backup bundle is perfectly normal. You do not need to pre-split files, and you do not need the source file to fit in worker memory — reads are streamed block-by-block.

Authentication: HMAC-SHA256 Shared Key

MigrationFox authenticates to Azure Blob using Shared Key authorization, the native HMAC-SHA256 scheme documented by Azure Storage. On every request we build the canonicalised string (HTTP verb, headers, canonicalised resource) and sign it with the storage account key. That is the same mechanism azcopy and the Azure SDK use internally.

You can also supply a SAS token when you want a tighter grant — write-only, container-scoped, expiring in 7 days is a common choice for one-off migrations. Both credential types are encrypted at rest with AES-256-GCM and never written to application logs.

Custom Endpoints: GovCloud and Sovereign Regions

Not every Azure tenant sits on blob.core.windows.net. MigrationFox lets you override the storage endpoint per credential so the same job flow works for:

The endpoint is treated as configuration, not hardcoded. If Microsoft spins up a new sovereign cloud next quarter, you add one URL field and the migration works.

Verification on Every Upload

After each blob is committed, MigrationFox reads back the blob properties and compares the server-computed content hash with the MD5 we calculated streaming the file out. A mismatch marks the item verification_failed and the worker retries the transfer; it never appears as “done” in the UI until the destination confirms what we sent.

For multi-block blobs where Azure does not compute a single content MD5, we verify block-by-block as each PutBlock is acknowledged and record the full set of block IDs in the job record. If you ever need to prove a specific file landed correctly, the audit log has every block hash for it.

What You Get in the Job Record

Pricing

Azure Blob migrations are billed at $0.50 per GB transferred. Your account starts with 2 GB free — no credit card required. Discovery scans of any source are always free and unlimited; you only pay when bytes actually move.

Related

Move your first TB into Azure Blob

2 GB free. No credit card required.

Start Free →