Class: Aws::DynamoDB::Types::TransactionCanceledException

Inherits:
Struct
  • Object
show all
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

Instance Attribute Details

#cancellation_reasonsArray<Types::CancellationReason>

A list of cancellation reasons.

Returns:



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

#messageString

Returns:

  • (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