Use the Azure Import/Export service to import data to Azure Blob Storage

This article provides step-by-step instructions on how to use the Azure Import/Export service to securely import large amounts of data to Azure Blob storage. To import data into Azure Blobs, the service requires you to ship encrypted disk drives containing your data to an Azure datacenter.


Before you create an import job to transfer data into Azure Blob Storage, carefully review and complete the following list of prerequisites for this service. You must:

Step 1: Prepare the drives

This step generates a journal file. The journal file stores basic information such as drive serial number, encryption key, and storage account details.

Perform the following steps to prepare the drives.

  1. Connect your disk drives to the Windows system via SATA connectors.

  2. Create a single NTFS volume on each drive. Assign a drive letter to the volume. Do not use mountpoints.

  3. Enable BitLocker encryption on the NTFS volume. If using a Windows Server system, use the instructions in How to enable BitLocker on Windows Server 2012 R2.

  4. Copy data to encrypted volume. Use drag and drop or Robocopy or any such copy tool. A journal (.jrn) file is created in the same folder where you run the tool.

    If the drive is locked and you need to unlock the drive, the steps to unlock may be different depending on your use case.

    • If you have added data to a pre-encrypted drive (WAImportExport tool was not used for encryption), use the BitLocker key (a numerical password that you specify) in the popup to unlock the drive.

    • If you have added data to a drive that was encrypted by WAImportExport tool, use the following command to unlock the drive:

      WAImportExport Unlock /externalKey:<BitLocker key (base 64 string) copied from journal (*.jrn*) file>

  5. Open a PowerShell or command line window with administrative privileges. To change directory to the unzipped folder, run the following command:

    cd C:\WaImportExportV1

  6. To get the BitLocker key of the drive, run the following command:

    manage-bde -protectors -get <DriveLetter>:

  7. To prepare the disk, run the following command. Depending on the data size, this may take several hours to days.

    ./WAImportExport.exe PrepImport /j:<journal file name> /id:session<session number> /t:<Drive letter> /bk:<BitLocker key> /srcdir:<Drive letter>:\ /dstdir:<Container name>/ /blobtype:<BlockBlob or PageBlob> /skipwrite

    A journal file is created in the same folder where you ran the tool. Two other files are also created - an .xml file (folder where you run the tool) and a drive-manifest.xml file (folder where data resides).

    The parameters used are described in the following table:

    Option Description
    /j: The name of the journal file, with the .jrn extension. A journal file is generated per drive. We recommend that you use the disk serial number as the journal file name.
    /id: The session ID. Use a unique session number for each instance of the command.
    /t: The drive letter of the disk to be shipped. For example, drive D.
    /bk: The BitLocker key for the drive. Its numerical password from output of manage-bde -protectors -get D:
    /srcdir: The drive letter of the disk to be shipped followed by :\. For example, D:\.
    /dstdir: The name of the destination container in Azure Storage.
    /blobtype: This option specifies the type of blobs you want to import the data to. For block blobs, this is BlockBlob and for page blobs, it is PageBlob.
    /skipwrite: The option that specifies that there is no new data required to be copied and existing data on the disk is to be prepared.
    /enablecontentmd5: The option when enabled, ensures that MD5 is computed and set as Content-md5 property on each blob. Use this option only if you want to use the Content-md5 field after the data is uploaded to Azure.
    This option does not affect the data integrity check (that occurs by default). The setting does increase the time taken to upload data to cloud.
  8. Repeat the previous step for each disk that needs to be shipped. A journal file with the provided name is created for every run of the command line.


    • Together with the journal file, a <Journal file name>_DriveInfo_<Drive serial ID>.xml file is also created in the same folder where the tool resides. The .xml file is used in place of journal file when creating a job if the journal file is too big.

Step 2: Create an import job

Perform the following steps to create an import job in the Azure portal.

  1. Log on to

  2. Go to All services > Storage > Import/export jobs.

    Go to Import/export jobs

  3. Click Create Import/export Job.

    Click Create Import/export job

  4. In Basics:

    • Select Import into Azure.

    • 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 a subscription.

    • Enter or select a resource group.

      Create import job - Step 1

  5. In Job details:

    • Upload the drive journal files that you obtained during the drive preparation step. If waimportexport.exe version1 was used, upload one file for each drive that you prepared. If the journal file size exceeds 2 MB, then you can use the <Journal file name>_DriveInfo_<Drive serial ID>.xml also created with the journal file.
    • Select the destination storage account where data will reside.
    • The dropoff location is automatically populated based on the region of the storage account selected.

    Create import job - Step 2

  6. In Return shipping info:

    • 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 with 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 import job is complete. If you do not have an account number, create a FedEx or DHL carrier account.

    • 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.

      Create import job - Step 3

  7. In the Summary:

    • Review the job information provided in the summary. Make a note of the job name and the Azure datacenter shipping address to ship disks back to Azure. This information is used later on the shipping label.

    • Click OK to create the import job.

      Create import job - Step 4

Step 3 (Optional): Configure customer managed key

Skip this step and go to the next step if you want to use the Microsoft managed key to protect your BitLocker keys for the drives. To configure your own key to protect the BitLocker key, follow the instructions in Configure customer-managed keys with Azure Key Vault for Azure Import/Export in the Azure portal

Step 4: 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.
    • A FedEx, UPS, or DHL account number is required for shipping drives back from the US and Europe locations.
      • A DHL account number is preferred for shipping drives back from Asia and Australia locations.
      • If you do not have an account number, create a FedEx or DHL carrier account.
  • 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 5: 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.

  1. Select and click the job.
  2. Click Update job status and tracking info once drives are shipped.
  3. Select the checkbox against Mark as shipped.
  4. Provide the Carrier and Tracking number.
  5. Track the job progress on the portal dashboard. For a description of each job state, go to View your job status.

Step 6: Verify data upload to Azure

Track the job to completion. Once the job is complete, verify that your data has uploaded to Azure. Delete the on-premises data only after you have verified that upload was successful.

Next steps