Class AmazonImportExportAsyncClient

All Implemented Interfaces:
AmazonImportExport, AmazonImportExportAsync

@ThreadSafe public class AmazonImportExportAsyncClient extends AmazonImportExportClient implements AmazonImportExportAsync
Interface for accessing AWS Import/Export asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an AsyncHandler can be used to receive notification when an asynchronous operation completes.

AWS Import/Export Service AWS Import/Export accelerates transferring large amounts of data between the AWS cloud and portable storage devices that you mail to us. AWS Import/Export transfers data directly onto and off of your storage devices using Amazon's high-speed internal network and bypassing the Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and more cost effective than upgrading your connectivity.

  • Constructor Details

    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient()
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export. A credentials provider chain will be used that searches for credentials in this order:
      • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
      • Java System Properties - aws.accessKeyId and aws.secretKey
      • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
      • Instance profile credentials delivered through the Amazon EC2 metadata service

      Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

      See Also:
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(ClientConfiguration clientConfiguration)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export. A credentials provider chain will be used that searches for credentials in this order:
      • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
      • Java System Properties - aws.accessKeyId and aws.secretKey
      • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
      • Instance profile credentials delivered through the Amazon EC2 metadata service

      Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

      Parameters:
      clientConfiguration - The client configuration options controlling how this client connects to AWS Import/Export (ex: proxy settings, retry counts, etc).
      See Also:
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(AWSCredentials awsCredentials)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export using the specified AWS account credentials.

      Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

      Parameters:
      awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
      See Also:
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export using the specified AWS account credentials and executor service. Default client settings will be used.
      Parameters:
      awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
      executorService - The executor service by which all asynchronous requests will be executed.
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export using the specified AWS account credentials, executor service, and client configuration options.
      Parameters:
      awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
      clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
      executorService - The executor service by which all asynchronous requests will be executed.
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(AWSCredentialsProvider awsCredentialsProvider)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export using the specified AWS account credentials provider. Default client settings will be used.

      Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      See Also:
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export using the provided AWS account credentials provider and client configuration options.

      Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
      See Also:
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export using the specified AWS account credentials provider and executor service. Default client settings will be used.
      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      executorService - The executor service by which all asynchronous requests will be executed.
    • AmazonImportExportAsyncClient

      public AmazonImportExportAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService)
      Constructs a new asynchronous client to invoke service methods on AWS Import/Export using the specified AWS account credentials provider, executor service, and client configuration options.
      Parameters:
      awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
      executorService - The executor service by which all asynchronous requests will be executed.
  • Method Details

    • getExecutorService

      public ExecutorService getExecutorService()
      Returns the executor service used by this client to execute async requests.
      Returns:
      The executor service used by this client to execute async requests.
    • cancelJobAsync

      public Future<CancelJobResult> cancelJobAsync(CancelJobRequest request)
      Description copied from interface: AmazonImportExportAsync
      This operation cancels a specified job. Only the job owner can cancel it. The operation fails if the job has already started or is complete.
      Specified by:
      cancelJobAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the CancelJob operation.
      Returns:
      A Java Future containing the result of the CancelJob operation returned by the service.
    • cancelJobAsync

      public Future<CancelJobResult> cancelJobAsync(CancelJobRequest request, AsyncHandler<CancelJobRequest,CancelJobResult> asyncHandler)
      Description copied from interface: AmazonImportExportAsync
      This operation cancels a specified job. Only the job owner can cancel it. The operation fails if the job has already started or is complete.
      Specified by:
      cancelJobAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the CancelJob operation.
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the CancelJob operation returned by the service.
    • createJobAsync

      public Future<CreateJobResult> createJobAsync(CreateJobRequest request)
      Description copied from interface: AmazonImportExportAsync
      This operation initiates the process of scheduling an upload or download of your data. You include in the request a manifest that describes the data transfer specifics. The response to the request includes a job ID, which you can use in other operations, a signature that you use to identify your storage device, and the address where you should ship your storage device.
      Specified by:
      createJobAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the CreateJob operation.
      Returns:
      A Java Future containing the result of the CreateJob operation returned by the service.
    • createJobAsync

      public Future<CreateJobResult> createJobAsync(CreateJobRequest request, AsyncHandler<CreateJobRequest,CreateJobResult> asyncHandler)
      Description copied from interface: AmazonImportExportAsync
      This operation initiates the process of scheduling an upload or download of your data. You include in the request a manifest that describes the data transfer specifics. The response to the request includes a job ID, which you can use in other operations, a signature that you use to identify your storage device, and the address where you should ship your storage device.
      Specified by:
      createJobAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the CreateJob operation.
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the CreateJob operation returned by the service.
    • getShippingLabelAsync

      public Future<GetShippingLabelResult> getShippingLabelAsync(GetShippingLabelRequest request)
      Description copied from interface: AmazonImportExportAsync
      This operation generates a pre-paid UPS shipping label that you will use to ship your device to AWS for processing.
      Specified by:
      getShippingLabelAsync in interface AmazonImportExportAsync
      Returns:
      A Java Future containing the result of the GetShippingLabel operation returned by the service.
    • getShippingLabelAsync

      Description copied from interface: AmazonImportExportAsync
      This operation generates a pre-paid UPS shipping label that you will use to ship your device to AWS for processing.
      Specified by:
      getShippingLabelAsync in interface AmazonImportExportAsync
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the GetShippingLabel operation returned by the service.
    • getStatusAsync

      public Future<GetStatusResult> getStatusAsync(GetStatusRequest request)
      Description copied from interface: AmazonImportExportAsync
      This operation returns information about a job, including where the job is in the processing pipeline, the status of the results, and the signature value associated with the job. You can only return information about jobs you own.
      Specified by:
      getStatusAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the GetStatus operation.
      Returns:
      A Java Future containing the result of the GetStatus operation returned by the service.
    • getStatusAsync

      public Future<GetStatusResult> getStatusAsync(GetStatusRequest request, AsyncHandler<GetStatusRequest,GetStatusResult> asyncHandler)
      Description copied from interface: AmazonImportExportAsync
      This operation returns information about a job, including where the job is in the processing pipeline, the status of the results, and the signature value associated with the job. You can only return information about jobs you own.
      Specified by:
      getStatusAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the GetStatus operation.
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the GetStatus operation returned by the service.
    • listJobsAsync

      public Future<ListJobsResult> listJobsAsync(ListJobsRequest request)
      Description copied from interface: AmazonImportExportAsync
      This operation returns the jobs associated with the requester. AWS Import/Export lists the jobs in reverse chronological order based on the date of creation. For example if Job Test1 was created 2009Dec30 and Test2 was created 2010Feb05, the ListJobs operation would return Test2 followed by Test1.
      Specified by:
      listJobsAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the ListJobs operation.
      Returns:
      A Java Future containing the result of the ListJobs operation returned by the service.
    • listJobsAsync

      public Future<ListJobsResult> listJobsAsync(ListJobsRequest request, AsyncHandler<ListJobsRequest,ListJobsResult> asyncHandler)
      Description copied from interface: AmazonImportExportAsync
      This operation returns the jobs associated with the requester. AWS Import/Export lists the jobs in reverse chronological order based on the date of creation. For example if Job Test1 was created 2009Dec30 and Test2 was created 2010Feb05, the ListJobs operation would return Test2 followed by Test1.
      Specified by:
      listJobsAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the ListJobs operation.
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the ListJobs operation returned by the service.
    • listJobsAsync

      public Future<ListJobsResult> listJobsAsync()
      Simplified method form for invoking the ListJobs operation.
      Specified by:
      listJobsAsync in interface AmazonImportExportAsync
      See Also:
    • listJobsAsync

      public Future<ListJobsResult> listJobsAsync(AsyncHandler<ListJobsRequest,ListJobsResult> asyncHandler)
      Simplified method form for invoking the ListJobs operation with an AsyncHandler.
      Specified by:
      listJobsAsync in interface AmazonImportExportAsync
      See Also:
    • updateJobAsync

      public Future<UpdateJobResult> updateJobAsync(UpdateJobRequest request)
      Description copied from interface: AmazonImportExportAsync
      You use this operation to change the parameters specified in the original manifest file by supplying a new manifest file. The manifest file attached to this request replaces the original manifest file. You can only use the operation after a CreateJob request but before the data transfer starts and you can only use it on jobs you own.
      Specified by:
      updateJobAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the UpateJob operation.
      Returns:
      A Java Future containing the result of the UpdateJob operation returned by the service.
    • updateJobAsync

      public Future<UpdateJobResult> updateJobAsync(UpdateJobRequest request, AsyncHandler<UpdateJobRequest,UpdateJobResult> asyncHandler)
      Description copied from interface: AmazonImportExportAsync
      You use this operation to change the parameters specified in the original manifest file by supplying a new manifest file. The manifest file attached to this request replaces the original manifest file. You can only use the operation after a CreateJob request but before the data transfer starts and you can only use it on jobs you own.
      Specified by:
      updateJobAsync in interface AmazonImportExportAsync
      Parameters:
      request - Input structure for the UpateJob operation.
      asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
      Returns:
      A Java Future containing the result of the UpdateJob operation returned by the service.
    • shutdown

      public void shutdown()
      Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should call getExecutorService().shutdown() followed by getExecutorService().awaitTermination() prior to calling this method.
      Specified by:
      shutdown in interface AmazonImportExport
      Overrides:
      shutdown in class AmazonWebServiceClient