AWS Import/Export
Developer Guide

Creating Amazon S3 Import Jobs

With an Amazon S3 import, AWS uploads individual files from your device to objects in an Amazon S3 bucket. One device is loaded to one bucket. Your device's file system is mounted on an AWS Import/Export data loading station and each file is uploaded as an object in your Amazon S3 bucket. You can optionally manage directories and filenames as part of the load process.

You must submit a separate job request for each device.

For more information, see Guidelines and Limitations

Import to Amazon S3 Process

Import Job Process

1 You create an file that contains your accessKeyId and secretKey associated with your AWS account. For more information, see Save Your Credentials to a File.
2 You create an import manifest file that specifies how to transfer data from your storage device to a single Amazon S3 bucket. For more information, see Creating an Import Manifest File.
3 You initiate an import job by sending a CreateJob request that includes the manifest file. You send a separate CreateJob request for each device. Your job expires after 30 days. If you do not send a device, there is no charge. You can send a CreateJob request using the AWS Import/Export Tool, the AWS Command Line Interface (CLI), the AWS SDK for Java, or the AWS REST API. The easiest method is the AWS Import/Export Tool. For details, see

Sending a CreateJob Request Using the AWS Import/Export Web Service Tool

Sending a CreateJob Request Using the AWS SDK for Java

Sending a CreateJob Request Using the REST API


AWS Import/Export sends a response that includes a job ID, a signature value, and saves a SIGNATURE file to your computer.

You will need this information in subsequent steps.

5 Optionally, you encrypt your device or create an encrypted file container using TrueCrypt. If you use an encrypted container, name the container <JOBID>.tc, using the Job ID from the CreateJob request. For example, For more information, see Encrypting Your Data.

You copy the SIGNATURE file to the root directory of your storage device. You can use the file AWS sent or copy the SignatureFileContents values from the response into a new text file named SIGNATURE. The file name must be SIGNATURE, and the file must be in the device's root directory.

Each device you send must include the unique SIGNATURE file for that device and that JOBID. AWS Import/Export validates the SIGNATURE file on your storage device before starting the data load. If the SIGNATURE file is missing invalid (for example, if it is associated with a different job request), AWS Import/Export will not perform the data load and we will return your storage device. As in the following example.

**************************************** * SignatureFileContents * **************************************** version:2.0 signingMethod:HmacSHA1 jobId:QTEST signature:cbfdUuhhmauYS+ABCl5R9heDK/V=
7 You copy your data to your storage device. AWS Import/Export loads the data from your device to a single Amazon S3 bucket. Note that when uploading data to Amazon S3, the file path on your storage device determines the corresponding object key. For example, if your storage device has an images top level folder with a file sample.jpg, the uploaded file/object key will be images/sample.jpg. File names must use UTF-8 character encoding. Any file with a name that is not a valid UTF-8 string is not imported. For information on storage device requirements, see Storage Device Requirements.

You ship the device and cables to AWS through UPS. Make sure to include your job ID on the device you are shipping and use the pre-paid shipping label, see Shipping Your Storage Device for information on how to print your label. Otherwise, your download might be delayed.


You can send multiple devices in the same shipment. If you do, however, there are specific guidelines and limitations that govern what devices you can ship and how your devices must be packaged. If your shipment is not prepared and packed correctly, AWS Import/Export cannot process your jobs. Regardless of how many devices you ship at one time, you must submit a separate job request for each device. For complete details about packaging requirements when shipping multiple devices, see Shipping Multiple Devices.

Your job expires after 30 days. If we receive your package after your job expires, we will return your device. You will only be charged for the shipping fees, if any.


AWS Import/Export validates the SIGNATURE file on the root drive of your storage device. If the SIGNATURE file doesn't match the CreateJob response, AWS can’t load your data and we will return your device.

Once your storage device arrives at AWS, your data load typically begins by the end of the next business day. The time line for loading your data depends on a number of factors, including decryption, the availability of an import station, the amount of data to load, and the data transfer rate of your device.

We import all of the data into a single Amazon S3 bucket.

10 If you encrypted your data, AWS decrypts the data using the PIN code or password you provided in the manifest file. If we cannot decrypt the data, we erase the device and ship it to the return address you provided.
11 AWS imports all of the data into a single Amazon S3 bucket.
12 Following the import operation, AWS will erase the device, even if the import was not successful. In cases where we are unable to erase the data on the device, we will schedule it for destruction. In this case, our support teams will contact you over the email address specified in the Manifest file.
13 AWS repacks your storage device and ship it to the return address you provided in your manifest file. We do not ship to post office boxes.