Table of Contents
QLDBSession.
Client
¶A low-level client representing Amazon QLDB Session
The transactional data APIs for Amazon QLDB
Note
Instead of interacting directly with this API, we recommend using the QLDB driver or the QLDB shell to execute data transactions on a ledger.
SendCommand
API calls for you. For information and a list of supported programming languages, see Getting started with the driver in the Amazon QLDB Developer Guide .client = session.create_client('qldb-session')
These are the available methods:
can_paginate
(operation_name)¶Check if an operation can be paginated.
create_foo
, and you'd normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.True
if the operation can be paginated,
False
otherwise.close
()¶Closes underlying endpoint connections.
get_paginator
(operation_name)¶Create a paginator for an operation.
create_foo
, and you'd normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.client.can_paginate
method to
check if an operation is pageable.get_waiter
(waiter_name)¶Returns an object that can wait for some condition.
send_command
(**kwargs)¶Sends a command to an Amazon QLDB ledger.
Note
Instead of interacting directly with this API, we recommend using the QLDB driver or the QLDB shell to execute data transactions on a ledger.
SendCommand
API calls for you. For information and a list of supported programming languages, see Getting started with the driver in the Amazon QLDB Developer Guide .See also: AWS API Documentation
Request Syntax
response = client.send_command(
SessionToken='string',
StartSession={
'LedgerName': 'string'
},
StartTransaction={}
,
EndSession={}
,
CommitTransaction={
'TransactionId': 'string',
'CommitDigest': b'bytes'
},
AbortTransaction={}
,
ExecuteStatement={
'TransactionId': 'string',
'Statement': 'string',
'Parameters': [
{
'IonBinary': b'bytes',
'IonText': 'string'
},
]
},
FetchPage={
'TransactionId': 'string',
'NextPageToken': 'string'
}
)
Specifies the session token for the current command. A session token is constant throughout the life of the session.
To obtain a session token, run the StartSession
command. This SessionToken
is required for every subsequent command that is issued during the current session.
Command to start a new session. A session token is obtained as part of the response.
The name of the ledger to start a new session against.
Command to commit the specified transaction.
Specifies the transaction ID of the transaction to commit.
Specifies the commit digest for the transaction to commit. For every active transaction, the commit digest must be passed. QLDB validates CommitDigest
and rejects the commit with an error if the digest computed on the client does not match the digest computed by QLDB.
The purpose of the CommitDigest
parameter is to ensure that QLDB commits a transaction if and only if the server has processed the exact set of statements sent by the client, in the same order that client sent them, and with no duplicates.
Command to execute a statement in the specified transaction.
Specifies the transaction ID of the request.
Specifies the statement of the request.
Specifies the parameters for the parameterized statement in the request.
A structure that can contain a value in multiple encoding formats.
An Amazon Ion binary value contained in a ValueHolder
structure.
An Amazon Ion plaintext value contained in a ValueHolder
structure.
Command to fetch a page.
Specifies the transaction ID of the page to be fetched.
Specifies the next page token of the page to be fetched.
dict
Response Syntax
{
'StartSession': {
'SessionToken': 'string',
'TimingInformation': {
'ProcessingTimeMilliseconds': 123
}
},
'StartTransaction': {
'TransactionId': 'string',
'TimingInformation': {
'ProcessingTimeMilliseconds': 123
}
},
'EndSession': {
'TimingInformation': {
'ProcessingTimeMilliseconds': 123
}
},
'CommitTransaction': {
'TransactionId': 'string',
'CommitDigest': b'bytes',
'TimingInformation': {
'ProcessingTimeMilliseconds': 123
},
'ConsumedIOs': {
'ReadIOs': 123,
'WriteIOs': 123
}
},
'AbortTransaction': {
'TimingInformation': {
'ProcessingTimeMilliseconds': 123
}
},
'ExecuteStatement': {
'FirstPage': {
'Values': [
{
'IonBinary': b'bytes',
'IonText': 'string'
},
],
'NextPageToken': 'string'
},
'TimingInformation': {
'ProcessingTimeMilliseconds': 123
},
'ConsumedIOs': {
'ReadIOs': 123,
'WriteIOs': 123
}
},
'FetchPage': {
'Page': {
'Values': [
{
'IonBinary': b'bytes',
'IonText': 'string'
},
],
'NextPageToken': 'string'
},
'TimingInformation': {
'ProcessingTimeMilliseconds': 123
},
'ConsumedIOs': {
'ReadIOs': 123,
'WriteIOs': 123
}
}
}
Response Structure
(dict) --
StartSession (dict) --
Contains the details of the started session that includes a session token. This SessionToken
is required for every subsequent command that is issued during the current session.
SessionToken (string) --
Session token of the started session. This SessionToken
is required for every subsequent command that is issued during the current session.
TimingInformation (dict) --
Contains server-side performance information for the command.
ProcessingTimeMilliseconds (integer) --
The amount of time that QLDB spent on processing the command, measured in milliseconds.
StartTransaction (dict) --
Contains the details of the started transaction.
TransactionId (string) --
The transaction ID of the started transaction.
TimingInformation (dict) --
Contains server-side performance information for the command.
ProcessingTimeMilliseconds (integer) --
The amount of time that QLDB spent on processing the command, measured in milliseconds.
EndSession (dict) --
Contains the details of the ended session.
TimingInformation (dict) --
Contains server-side performance information for the command.
ProcessingTimeMilliseconds (integer) --
The amount of time that QLDB spent on processing the command, measured in milliseconds.
CommitTransaction (dict) --
Contains the details of the committed transaction.
TransactionId (string) --
The transaction ID of the committed transaction.
CommitDigest (bytes) --
The commit digest of the committed transaction.
TimingInformation (dict) --
Contains server-side performance information for the command.
ProcessingTimeMilliseconds (integer) --
The amount of time that QLDB spent on processing the command, measured in milliseconds.
ConsumedIOs (dict) --
Contains metrics about the number of I/O requests that were consumed.
ReadIOs (integer) --
The number of read I/O requests that the command made.
WriteIOs (integer) --
The number of write I/O requests that the command made.
AbortTransaction (dict) --
Contains the details of the aborted transaction.
TimingInformation (dict) --
Contains server-side performance information for the command.
ProcessingTimeMilliseconds (integer) --
The amount of time that QLDB spent on processing the command, measured in milliseconds.
ExecuteStatement (dict) --
Contains the details of the executed statement.
FirstPage (dict) --
Contains the details of the first fetched page.
Values (list) --
A structure that contains values in multiple encoding formats.
(dict) --
A structure that can contain a value in multiple encoding formats.
IonBinary (bytes) --
An Amazon Ion binary value contained in a ValueHolder
structure.
IonText (string) --
An Amazon Ion plaintext value contained in a ValueHolder
structure.
NextPageToken (string) --
The token of the next page.
TimingInformation (dict) --
Contains server-side performance information for the command.
ProcessingTimeMilliseconds (integer) --
The amount of time that QLDB spent on processing the command, measured in milliseconds.
ConsumedIOs (dict) --
Contains metrics about the number of I/O requests that were consumed.
ReadIOs (integer) --
The number of read I/O requests that the command made.
WriteIOs (integer) --
The number of write I/O requests that the command made.
FetchPage (dict) --
Contains the details of the fetched page.
Page (dict) --
Contains details of the fetched page.
Values (list) --
A structure that contains values in multiple encoding formats.
(dict) --
A structure that can contain a value in multiple encoding formats.
IonBinary (bytes) --
An Amazon Ion binary value contained in a ValueHolder
structure.
IonText (string) --
An Amazon Ion plaintext value contained in a ValueHolder
structure.
NextPageToken (string) --
The token of the next page.
TimingInformation (dict) --
Contains server-side performance information for the command.
ProcessingTimeMilliseconds (integer) --
The amount of time that QLDB spent on processing the command, measured in milliseconds.
ConsumedIOs (dict) --
Contains metrics about the number of I/O requests that were consumed.
ReadIOs (integer) --
The number of read I/O requests that the command made.
WriteIOs (integer) --
The number of write I/O requests that the command made.
Exceptions
QLDBSession.Client.exceptions.BadRequestException
QLDBSession.Client.exceptions.InvalidSessionException
QLDBSession.Client.exceptions.OccConflictException
QLDBSession.Client.exceptions.RateExceededException
QLDBSession.Client.exceptions.LimitExceededException
QLDBSession.Client.exceptions.CapacityExceededException
Client exceptions are available on a client instance via the exceptions
property. For more detailed instructions and examples on the exact usage of client exceptions, see the error handling user guide.
The available client exceptions are:
QLDBSession.Client.exceptions.BadRequestException
QLDBSession.Client.exceptions.CapacityExceededException
QLDBSession.Client.exceptions.InvalidSessionException
QLDBSession.Client.exceptions.LimitExceededException
QLDBSession.Client.exceptions.OccConflictException
QLDBSession.Client.exceptions.RateExceededException
QLDBSession.Client.exceptions.
BadRequestException
¶Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter.
Example
try:
...
except client.exceptions.BadRequestException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Code': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) --
Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter.
QLDBSession.Client.exceptions.
CapacityExceededException
¶Returned when the request exceeds the processing capacity of the ledger.
Example
try:
...
except client.exceptions.CapacityExceededException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) --
Returned when the request exceeds the processing capacity of the ledger.
QLDBSession.Client.exceptions.
InvalidSessionException
¶Returned if the session doesn't exist anymore because it timed out or expired.
Example
try:
...
except client.exceptions.InvalidSessionException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Code': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) --
Returned if the session doesn't exist anymore because it timed out or expired.
QLDBSession.Client.exceptions.
LimitExceededException
¶Returned if a resource limit such as number of active sessions is exceeded.
Example
try:
...
except client.exceptions.LimitExceededException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) --
Returned if a resource limit such as number of active sessions is exceeded.
QLDBSession.Client.exceptions.
OccConflictException
¶Returned when a transaction cannot be written to the journal due to a failure in the verification phase of optimistic concurrency control (OCC).
Example
try:
...
except client.exceptions.OccConflictException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) --
Returned when a transaction cannot be written to the journal due to a failure in the verification phase of optimistic concurrency control (OCC).
QLDBSession.Client.exceptions.
RateExceededException
¶Returned when the rate of requests exceeds the allowed throughput.
Example
try:
...
except client.exceptions.RateExceededException as e:
print(e.response)
response
¶The parsed error response. All exceptions have a top level Error
key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.
Syntax
{
'Message': 'string',
'Error': {
'Code': 'string',
'Message': 'string'
}
}
Structure
(dict) --
Returned when the rate of requests exceeds the allowed throughput.
The available paginators are: