Class: Aws::DynamoDB::Types::TransactionCanceledException
- Inherits:
-
Struct
- Object
- Struct
- Aws::DynamoDB::Types::TransactionCanceledException
- Includes:
- Structure
- Defined in:
- lib/aws-sdk-dynamodb/types.rb
Overview
The entire transaction request was canceled.
DynamoDB cancels a ‘TransactWriteItems` request under the following circumstances:
-
A condition in one of the condition expressions is not met.
-
A table in the ‘TransactWriteItems` request is in a different account or region.
-
More than one action in the ‘TransactWriteItems` operation targets the same item.
-
There is insufficient provisioned capacity for the transaction to be completed.
-
An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.
-
There is a user error, such as an invalid data format.
-
There is an ongoing ‘TransactWriteItems` operation that conflicts with a concurrent `TransactWriteItems` request. In this case the `TransactWriteItems` operation fails with a `TransactionCanceledException`.
DynamoDB cancels a ‘TransactGetItems` request under the following circumstances:
-
There is an ongoing ‘TransactGetItems` operation that conflicts with a concurrent `PutItem`, `UpdateItem`, `DeleteItem` or `TransactWriteItems` request. In this case the `TransactGetItems` operation fails with a `TransactionCanceledException`.
-
A table in the ‘TransactGetItems` request is in a different account or region.
-
There is insufficient provisioned capacity for the transaction to be completed.
-
There is a user error, such as an invalid data format.
<note markdown=“1”> If using Java, DynamoDB lists the cancellation reasons on the ‘CancellationReasons` property. This property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested items, if an item has no error it will have `None` code and `Null` message.
</note>
Cancellation reason codes and possible error messages:
-
No Errors:
-
Code: ‘None`
-
Message: ‘null`
-
-
Conditional Check Failed:
-
Code: ‘ConditionalCheckFailed`
-
Message: The conditional request failed.
-
-
Item Collection Size Limit Exceeded:
-
Code: ‘ItemCollectionSizeLimitExceeded`
-
Message: Collection size exceeded.
-
-
Transaction Conflict:
-
Code: ‘TransactionConflict`
-
Message: Transaction is ongoing for the item.
-
-
Provisioned Throughput Exceeded:
-
Code: ‘ProvisionedThroughputExceeded`
-
Messages:
-
The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API.
<note markdown=“1”> This Message is received when provisioned throughput is exceeded is on a provisioned DynamoDB table.
</note>
-
The level of configured provisioned throughput for one or more global secondary indexes of the table was exceeded. Consider increasing your provisioning level for the under-provisioned global secondary indexes with the UpdateTable API.
<note markdown=“1”> This message is returned when provisioned throughput is exceeded is on a provisioned GSI.
</note>
-
-
-
Throttling Error:
-
Code: ‘ThrottlingError`
-
Messages:
-
Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index so please try again shortly. If exceptions persist, check if you have a hot key: docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.
<note markdown=“1”> This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the table.
</note>
-
Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly.
<note markdown=“1”> This message is returned when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI.
</note>
-
-
-
Validation Error:
-
Code: ‘ValidationError`
-
Messages:
-
One or more parameter values were invalid.
-
The update expression attempted to update the secondary index key beyond allowed size limits.
-
The update expression attempted to update the secondary index key to unsupported type.
-
An operand in the update expression has an incorrect data type.
-
Item size to update has exceeded the maximum allowed size.
-
Number overflow. Attempting to store a number with magnitude larger than supported range.
-
Type mismatch for attribute to update.
-
Nesting Levels have exceeded supported limits.
-
The document path provided in the update expression is invalid for update.
-
The provided expression refers to an attribute that does not exist in the item.
-
-
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#cancellation_reasons ⇒ Array<Types::CancellationReason>
A list of cancellation reasons.
- #message ⇒ String
Instance Attribute Details
#cancellation_reasons ⇒ Array<Types::CancellationReason>
A list of cancellation reasons.
9443 9444 9445 9446 9447 9448 |
# File 'lib/aws-sdk-dynamodb/types.rb', line 9443 class TransactionCanceledException < Struct.new( :message, :cancellation_reasons) SENSITIVE = [] include Aws::Structure end |
#message ⇒ String
9443 9444 9445 9446 9447 9448 |
# File 'lib/aws-sdk-dynamodb/types.rb', line 9443 class TransactionCanceledException < Struct.new( :message, :cancellation_reasons) SENSITIVE = [] include Aws::Structure end |