code: public UploadResult upload(final String accountId, final String vaultName, final String archiveDescription, final File file)
              throws AmazonServiceException, AmazonClientException, FileNotFoundException {
          return upload(accountId, vaultName, archiveDescription, file, null);
      }
docs: Uploads the specified file to Amazon Glacier for archival storage in the
  specified vault in the specified user's account. For small archives, this
  method will upload the archive directly to Glacier. For larger archives,
  this method will use Glacier's multipart upload API to split the upload
  into multiple parts for better error recovery if any errors are
  encountered while streaming the data to Amazon Glacier.
  
  @param accountId
  The ID for the account which owns the Glacier vault being
  uploaded to. To use the same account the developer is using to
  make requests to AWS, the value <code>"-"</code> can be used
  instead of the full account ID.
  @param vaultName
  The name of the vault to upload to.
  @param archiveDescription
  The description of the new archive being uploaded.
  @param file
  The file to upload to Amazon Glacier.
  
  @return The result of the upload, including the archive ID needed to
  access the upload later.
  
  @throws AmazonServiceException
  If any problems were encountered while communicating with
  AWS.
  @throws AmazonClientException
  If any problems were encountered inside the AWS SDK for Java
  client code in making requests or processing responses from
  AWS.
  @throws FileNotFoundException
  If the specified file to upload doesn't exist.