Use the Azure Import/Export service to export data from Azure Blob storage
This article provides step-by-step instructions on how to use the Azure Import/Export service to securely export large amounts of data from Azure Blob storage. The service requires you to ship empty drives to the Azure datacenter. The service exports data from your storage account to the drives and then ships the drives back.
Before you create an export job to transfer data out of Azure Blob Storage, carefully review and complete the following list of prerequisites for this service. You must:
- Have an active Azure subscription that can be used for the Import/Export service.
- Have at least one Azure Storage account. See the list of Supported storage accounts and storage types for Import/Export service. For information on creating a new storage account, see How to Create a Storage Account.
- Have adequate number of disks of Supported types.
- Have a FedEx/DHL account. If you want to use a carrier other than FedEx/DHL, contact Azure Data Box Operations team at
- The account must be valid, should have balance, and must have return shipping capabilities.
- Generate a tracking number for the export job.
- Every job should have a separate tracking number. Multiple jobs with the same tracking number are not supported.
- If you do not have a carrier account, go to:
Step 1: Create an export job
Perform the following steps to create an export job in the Azure portal.
Log on to https://portal.azure.com/.
Search for import/export jobs.
Select + New.
Select a subscription.
Select a resource group, or select Create new and create a new one.
Enter a descriptive name for the import job. Use the name to track the progress of your jobs.
- The name may contain only lowercase letters, numbers, and hyphens.
- The name must start with a letter, and may not contain spaces.
Select Export from Azure.
Select Next: Job details > to proceed.
In Job details:
Select the Azure region where your data currently is.
Select the storage account from where you want to export data. Use a storage account close to your location.
The drop-off location is automatically populated based on the region of the storage account selected.
Specify the blob data to export from your storage account to your blank drive or drives. Choose one of the three following methods.
Choose to Export all blob data in the storage account.
Choose Selected containers and blobs, and specify containers and blobs to export. You can use more than one of the selection methods. Selecting an Add option opens a panel on the right where you can add your selection strings.
Option Description Add containers Export all blobs in a container.
Select Add containers, and enter each container name.
Add blobs Specify individual blobs to export.
Select Add blobs. Then specify the relative path to the blob, beginning with the container name. Use $root to specify the root container.
You must provide the blob paths in valid format to avoid errors during processing, as shown in this screenshot. For more information, see Examples of valid blob paths.
Add prefixes Use a prefix to select a set of similarly named containers or similarly named blobs in a container. The prefix may be the prefix of the container name, the complete container name, or a complete container name followed by the prefix of the blob name.
Choose Export from blob list file (XML format), and select an XML file that contains a list of paths and prefixes for the blobs to be exported from the storage account. You must construct the XML file and store it in a container for the storage account. The file cannot be empty.
If you use an XML file to select the blobs to export, make sure that the XML contains valid paths and/or prefixes. If the file is invalid or no data matches the paths specified, the order terminates with partial data or no data exported.
To see how to add an XML file to a container, see Export order using XML file.
If a blob to be exported is in use during data copy, the Azure Import/Export service takes a snapshot of the blob and copies the snapshot.
Select Next: Shipping > to proceed.
Select the carrier from the dropdown list. If you want to use a carrier other than FedEx/DHL, choose an existing option from the dropdown. Contact Azure Data Box Operations team at
firstname.lastname@example.org the information regarding the carrier you plan to use.
Enter a valid carrier account number that you have created with that carrier. Microsoft uses this account to ship the drives back to you once your export job is complete.
Provide a complete and valid contact name, phone, email, street address, city, zip, state/province, and country/region.
Instead of specifying an email address for a single user, provide a group email. This ensures that you receive notifications even if an admin leaves.
Select Review + create to proceed.
In Review + create:
Review the details of the job.
Make a note of the job name and provided Azure datacenter shipping address for shipping disks to Azure.
Always send the disks to the datacenter noted in the Azure portal. If the disks are shipped to the wrong datacenter, the job will not be processed.
Review the Terms for your order for privacy and source data deletion. If you agree to the terms, select the check box beneath the terms. Validation of the order begins.
After validation passes, select Create.
Step 2: Ship the drives
If you do not know the number of drives you need, go to the Check the number of drives. If you know the number of drives, proceed to ship the drives.
FedEx, UPS, or DHL can be used to ship the package to Azure datacenter. If you want to use a carrier other than FedEx/DHL, contact Azure Data Box Operations team at
- Provide a valid FedEx, UPS, or DHL carrier account number that Microsoft will use to ship the drives back.
- When shipping your packages, you must follow the Microsoft Azure Service Terms.
- Properly package yours disks to avoid potential damage and delays in processing.
Step 3: Update the job with tracking information
After shipping the disks, return to the Import/Export page on the Azure portal.
If the tracking number is not updated within 2 weeks of creating the job, the job expires.
To update the tracking number, perform the following steps.
- Select and click the job.
- Click Update job status and tracking info once drives are shipped.
- Select the checkbox against Mark as shipped.
- Provide the Carrier and Tracking number.
- Track the job progress on the portal dashboard. For a description of each job state, go to View your job status.
Step 4: Receive the disks
When the dashboard reports the job is complete, the disks are shipped to you and the tracking number for the shipment is available on the portal.
After you receive the drives with exported data, you need to get the BitLocker keys to unlock the drives. Go to the export job in the Azure portal. Click Import/Export tab.
Select and click your export job from the list. Go to Encryption and copy the keys.
Use the BitLocker keys to unlock the disks.
The export is complete.
Step 5: Unlock the disks
Use the following command to unlock the drive:
WAImportExport Unlock /bk:<BitLocker key (base 64 string) copied from Encryption blade in Azure portal> /driveLetter:<Drive letter>
Here is an example of the sample input.
WAImportExport.exe Unlock /bk:CAAcwBoAG8AdQBsAGQAIABiAGUAIABoAGkAZABkAGUAbgA= /driveLetter:e
At this time, you can delete the job or leave it. Jobs automatically get deleted after 90 days.
Check the number of drives
This optional step helps you determine the number of drives required for the export job. Perform this step on a Windows system running a Supported OS version.
Download the WAImportExport version 1 on the Windows system.
Unzip to the default folder
waimportexportv1. For example,
Open a PowerShell or command-line window with administrative privileges. To change directory to the unzipped folder, run the following command:
To check the number of disks required for the selected blobs, run the following command:
WAImportExport.exe PreviewExport /ExportBlobListFile:<Path to XML blob list file> /DriveSize:<Size of drives used>
The parameters are described in the following table:
Command-line parameter Description /logdir: Optional. The log directory. Verbose log files are written to this directory. If not specified, the current directory is used as the log directory. /ExportBlobListFile: Required. Path to the XML file containing list of blob paths or blob path prefixes for the blobs to be exported. The file format used in the
BlobListBlobPathelement in the Put Job operation of the Import/Export service REST API.
/DriveSize: Required. The size of drives to use for an export job, for example, 500 GB, 1.5 TB.
Check that you can read/write to the drives that will be shipped for the export job.
Example of PreviewExport command
The following example demonstrates the
WAImportExport.exe PreviewExport /ExportBlobListFile:C:\WAImportExport\mybloblist.xml /DriveSize:500GB
The export blob list file may contain blob names and blob prefixes, as shown here:
<?xml version="1.0" encoding="utf-8"?> <BlobList> <BlobPath>pictures/animals/koala.jpg</BlobPath> <BlobPathPrefix>/vhds/</BlobPathPrefix> <BlobPathPrefix>/movies/</BlobPathPrefix> </BlobList>
The Azure Import/Export Tool lists all blobs to be exported and calculates how to pack them into drives of the specified size, taking into account any necessary overhead, then estimates the number of drives needed to hold the blobs and drive usage information.
Here is an example of the output, with informational logs omitted:
Number of unique blob paths/prefixes: 3 Number of duplicate blob paths/prefixes: 0 Number of nonexistent blob paths/prefixes: 1 Drive size: 500.00 GB Number of blobs that can be exported: 6 Number of blobs that cannot be exported: 2 Number of drives needed: 3 Drive #1: blobs = 1, occupied space = 454.74 GB Drive #2: blobs = 3, occupied space = 441.37 GB Drive #3: blobs = 2, occupied space = 131.28 GB
Examples of valid blob paths
The following table shows examples of valid blob paths:
|Starts With||/||Exports all blobs in the storage account|
|Starts With||/$root/||Exports all blobs in the root container|
|Starts With||/book||Exports all blobs in any container that begins with prefix book|
|Starts With||/music/||Exports all blobs in container music|
|Starts With||/music/love||Exports all blobs in container music that begin with prefix love|
|Equal To||$root/logo.bmp||Exports blob logo.bmp in the root container|
|Equal To||videos/story.mp4||Exports blob story.mp4 in container videos|