@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AWSRDSDataAsyncClient extends AWSRDSDataClient implements AWSRDSDataAsync
AsyncHandler
can be used to receive
notification when an asynchronous operation completes.
Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora DB cluster. To run these statements, you use the RDS Data API (Data API).
Data API is available with the following types of Aurora databases:
Aurora PostgreSQL - Serverless v2, Serverless v1, and provisioned
Aurora MySQL - Serverless v1 only
For more information about the Data API, see Using RDS Data API in the Amazon Aurora User Guide.
LOGGING_AWS_REQUEST_METRIC
ENDPOINT_PREFIX
batchExecuteStatement, beginTransaction, builder, commitTransaction, executeSql, executeStatement, getCachedResponseMetadata, rollbackTransaction
addRequestHandler, addRequestHandler, configureRegion, getClientConfiguration, getEndpointPrefix, getMonitoringListeners, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffset
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
batchExecuteStatement, beginTransaction, commitTransaction, executeSql, executeStatement, getCachedResponseMetadata, rollbackTransaction
public static AWSRDSDataAsyncClientBuilder asyncBuilder()
public ExecutorService getExecutorService()
public Future<BatchExecuteStatementResult> batchExecuteStatementAsync(BatchExecuteStatementRequest request)
AWSRDSDataAsync
Runs a batch SQL statement over an array of data.
You can run bulk update and insert operations for multiple records using a DML statement with different parameter sets. Bulk operations can provide a significant performance improvement over individual insert and update operations.
If a call isn't part of a transaction because it doesn't include the transactionID
parameter,
changes that result from the call are committed automatically.
There isn't a fixed upper limit on the number of parameter sets. However, the maximum size of the HTTP request submitted through the Data API is 4 MiB. If the request exceeds this limit, the Data API returns an error and doesn't process the request. This 4-MiB limit includes the size of the HTTP headers and the JSON notation in the request. Thus, the number of parameter sets that you can include depends on a combination of factors, such as the size of the SQL statement and the size of each parameter set.
The response size limit is 1 MiB. If the call returns more than 1 MiB of response data, the call is terminated.
batchExecuteStatementAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a SQL statement over an array of data.public Future<BatchExecuteStatementResult> batchExecuteStatementAsync(BatchExecuteStatementRequest request, AsyncHandler<BatchExecuteStatementRequest,BatchExecuteStatementResult> asyncHandler)
AWSRDSDataAsync
Runs a batch SQL statement over an array of data.
You can run bulk update and insert operations for multiple records using a DML statement with different parameter sets. Bulk operations can provide a significant performance improvement over individual insert and update operations.
If a call isn't part of a transaction because it doesn't include the transactionID
parameter,
changes that result from the call are committed automatically.
There isn't a fixed upper limit on the number of parameter sets. However, the maximum size of the HTTP request submitted through the Data API is 4 MiB. If the request exceeds this limit, the Data API returns an error and doesn't process the request. This 4-MiB limit includes the size of the HTTP headers and the JSON notation in the request. Thus, the number of parameter sets that you can include depends on a combination of factors, such as the size of the SQL statement and the size of each parameter set.
The response size limit is 1 MiB. If the call returns more than 1 MiB of response data, the call is terminated.
batchExecuteStatementAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a SQL statement over an array of data.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.public Future<BeginTransactionResult> beginTransactionAsync(BeginTransactionRequest request)
AWSRDSDataAsync
Starts a SQL transaction.
A transaction can run for a maximum of 24 hours. A transaction is terminated and rolled back automatically after 24 hours.
A transaction times out if no calls use its transaction ID in three minutes. If a transaction times out before it's committed, it's rolled back automatically.
DDL statements inside a transaction cause an implicit commit. We recommend that you run each DDL statement in a
separate ExecuteStatement
call with continueAfterTimeout
enabled.
beginTransactionAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to start a SQL transaction.public Future<BeginTransactionResult> beginTransactionAsync(BeginTransactionRequest request, AsyncHandler<BeginTransactionRequest,BeginTransactionResult> asyncHandler)
AWSRDSDataAsync
Starts a SQL transaction.
A transaction can run for a maximum of 24 hours. A transaction is terminated and rolled back automatically after 24 hours.
A transaction times out if no calls use its transaction ID in three minutes. If a transaction times out before it's committed, it's rolled back automatically.
DDL statements inside a transaction cause an implicit commit. We recommend that you run each DDL statement in a
separate ExecuteStatement
call with continueAfterTimeout
enabled.
beginTransactionAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to start a SQL transaction.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.public Future<CommitTransactionResult> commitTransactionAsync(CommitTransactionRequest request)
AWSRDSDataAsync
Ends a SQL transaction started with the BeginTransaction
operation and commits the changes.
commitTransactionAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a commit transaction request.public Future<CommitTransactionResult> commitTransactionAsync(CommitTransactionRequest request, AsyncHandler<CommitTransactionRequest,CommitTransactionResult> asyncHandler)
AWSRDSDataAsync
Ends a SQL transaction started with the BeginTransaction
operation and commits the changes.
commitTransactionAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a commit transaction request.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.@Deprecated public Future<ExecuteSqlResult> executeSqlAsync(ExecuteSqlRequest request)
AWSRDSDataAsync
Runs one or more SQL statements.
This operation isn't supported for Aurora PostgreSQL Serverless v2 and provisioned DB clusters, and for Aurora
Serverless v1 DB clusters, the operation is deprecated. Use the BatchExecuteStatement
or
ExecuteStatement
operation.
executeSqlAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to run one or more SQL statements.@Deprecated public Future<ExecuteSqlResult> executeSqlAsync(ExecuteSqlRequest request, AsyncHandler<ExecuteSqlRequest,ExecuteSqlResult> asyncHandler)
AWSRDSDataAsync
Runs one or more SQL statements.
This operation isn't supported for Aurora PostgreSQL Serverless v2 and provisioned DB clusters, and for Aurora
Serverless v1 DB clusters, the operation is deprecated. Use the BatchExecuteStatement
or
ExecuteStatement
operation.
executeSqlAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to run one or more SQL statements.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.public Future<ExecuteStatementResult> executeStatementAsync(ExecuteStatementRequest request)
AWSRDSDataAsync
Runs a SQL statement against a database.
If a call isn't part of a transaction because it doesn't include the transactionID
parameter,
changes that result from the call are committed automatically.
If the binary response data from the database is more than 1 MB, the call is terminated.
executeStatementAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to run a SQL statement against a database.public Future<ExecuteStatementResult> executeStatementAsync(ExecuteStatementRequest request, AsyncHandler<ExecuteStatementRequest,ExecuteStatementResult> asyncHandler)
AWSRDSDataAsync
Runs a SQL statement against a database.
If a call isn't part of a transaction because it doesn't include the transactionID
parameter,
changes that result from the call are committed automatically.
If the binary response data from the database is more than 1 MB, the call is terminated.
executeStatementAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to run a SQL statement against a database.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.public Future<RollbackTransactionResult> rollbackTransactionAsync(RollbackTransactionRequest request)
AWSRDSDataAsync
Performs a rollback of a transaction. Rolling back a transaction cancels its changes.
rollbackTransactionAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to perform a rollback of a transaction.public Future<RollbackTransactionResult> rollbackTransactionAsync(RollbackTransactionRequest request, AsyncHandler<RollbackTransactionRequest,RollbackTransactionResult> asyncHandler)
AWSRDSDataAsync
Performs a rollback of a transaction. Rolling back a transaction cancels its changes.
rollbackTransactionAsync
in interface AWSRDSDataAsync
request
- The request parameters represent the input of a request to perform a rollback of a transaction.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.public void shutdown()
getExecutorService().shutdown()
followed by getExecutorService().awaitTermination()
prior to
calling this method.shutdown
in interface AWSRDSData
shutdown
in class AWSRDSDataClient