RDSData
Service object for interacting with AWS RDSData service.
public struct RDSData: AWSService
Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora Serverless DB cluster. To run these statements, you work with the Data Service API.
For more information about the Data Service API, see Using the Data API in the Amazon Aurora User Guide.
Inheritance
AWSService
Initializers
init(client:region:partition:endpoint:timeout:byteBufferAllocator:options:)
Initialize the RDSData client
public init(
client: AWSClient,
region: SotoCore.Region? = nil,
partition: AWSPartition = .aws,
endpoint: String? = nil,
timeout: TimeAmount? = nil,
byteBufferAllocator: ByteBufferAllocator = ByteBufferAllocator(),
options: AWSServiceConfig.Options = []
)
Parameters
- client: AWSClient used to process requests
- region: Region of server you want to communicate with. This will override the partition parameter.
- partition: AWS partition where service resides, standard (.aws), china (.awscn), government (.awsusgov).
- endpoint: Custom endpoint URL to use instead of standard AWS servers
- timeout: Timeout value for HTTP requests
init(from:patch:)
Initializer required by AWSService.with(middlewares:timeout:byteBufferAllocator:options)
. You are not able to use this initializer directly as there are no public initializers for AWSServiceConfig.Patch
. Please use AWSService.with(middlewares:timeout:byteBufferAllocator:options)
instead.
public init(from: RDSData, patch: AWSServiceConfig.Patch)
Properties
client
Client used for communication with AWS
public let client: AWSClient
config
Service configuration
public let config: AWSServiceConfig
Methods
batchExecuteStatement(_:logger:on:)
public func batchExecuteStatement(_ input: BatchExecuteStatementRequest, logger: Logger = AWSClient.loggingDisabled, on eventLoop: EventLoop? = nil) -> EventLoopFuture<BatchExecuteStatementResponse>
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.
beginTransaction(_:logger:on:)
public func beginTransaction(_ input: BeginTransactionRequest, logger: Logger = AWSClient.loggingDisabled, on eventLoop: EventLoop? = nil) -> EventLoopFuture<BeginTransactionResponse>
Starts a SQL transaction.
<important>
<p>A transaction can run for a maximum of 24 hours. A transaction is terminated and
rolled back automatically after 24 hours.</p>
<p>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.</p>
<p>DDL statements inside a transaction cause an implicit commit. We recommend
that you run each DDL statement in a separate <code>ExecuteStatement</code> call with
<code>continueAfterTimeout</code> enabled.</p>
</important>
commitTransaction(_:logger:on:)
public func commitTransaction(_ input: CommitTransactionRequest, logger: Logger = AWSClient.loggingDisabled, on eventLoop: EventLoop? = nil) -> EventLoopFuture<CommitTransactionResponse>
Ends a SQL transaction started with the BeginTransaction
operation and
commits the changes.
executeSql(_:logger:on:)
@available(*, deprecated, message:"The ExecuteSql API is deprecated, please use the ExecuteStatement API.")
public func executeSql(_ input: ExecuteSqlRequest, logger: Logger = AWSClient.loggingDisabled, on eventLoop: EventLoop? = nil) -> EventLoopFuture<ExecuteSqlResponse>
Runs one or more SQL statements.
This operation is deprecated. Use the BatchExecuteStatement
or
ExecuteStatement
operation.
executeStatement(_:logger:on:)
public func executeStatement(_ input: ExecuteStatementRequest, logger: Logger = AWSClient.loggingDisabled, on eventLoop: EventLoop? = nil) -> EventLoopFuture<ExecuteStatementResponse>
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.
rollbackTransaction(_:logger:on:)
public func rollbackTransaction(_ input: RollbackTransactionRequest, logger: Logger = AWSClient.loggingDisabled, on eventLoop: EventLoop? = nil) -> EventLoopFuture<RollbackTransactionResponse>
Performs a rollback of a transaction. Rolling back a transaction cancels its changes.