/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The entire transaction request was canceled. DynamoDB cancels a
* A condition in one of the condition expressions is not met. A table in the More than one action in the
* 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. DynamoDB
* cancels a There is an ongoing
* A table in the
* There is insufficient provisioned capacity for the transaction to
* be completed. There is a user error, such as an invalid data
* format. If using Java, DynamoDB lists the cancellation
* reasons on the Cancellation reason codes and
* possible error messages: No Errors: Code:
* Message: Conditional Check Failed: Code:
* Message: The conditional
* request failed. Item Collection Size Limit
* Exceeded: Code: Message: Collection size exceeded. Transaction Conflict: Code: Message: Transaction is ongoing for the item. Provisioned Throughput Exceeded: Code:
* Messages: The level of configured provisioned throughput for the table was
* exceeded. Consider increasing your provisioning level with the UpdateTable
* API. This Message is received when provisioned throughput is
* exceeded is on a provisioned DynamoDB table. 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. This message is returned when provisioned throughput is exceeded is on a
* provisioned GSI. Throttling
* Error: Code: 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:
* https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html. This message is returned when writes get throttled on an On-Demand
* table as DynamoDB is automatically scaling the table. Throughput exceeds the current capacity for one or more global secondary
* indexes. DynamoDB is automatically scaling your index so please try again
* shortly. This message is returned when writes get throttled on an
* On-Demand GSI as DynamoDB is automatically scaling the GSI. Validation Error: Code:
* 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.TransactWriteItems
request under the following circumstances:
TransactWriteItems
request is in a
* different account or region.TransactWriteItems
operation targets the same item.TransactGetItems
request under the following
* circumstances:
TransactGetItems
operation that conflicts with a concurrent
* PutItem
, UpdateItem
, DeleteItem
or
* TransactWriteItems
request. In this case the
* TransactGetItems
operation fails with a
* TransactionCanceledException
.TransactGetItems
request is in a different account or region.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.
* None
null
ConditionalCheckFailed
ItemCollectionSizeLimitExceeded
*
* TransactionConflict
*
ProvisionedThroughputExceeded
*
ThrottlingError
ValidationError
See Also:
AWS
* API Reference
A list of cancellation reasons.
*/ inline const Aws::VectorA list of cancellation reasons.
*/ inline bool CancellationReasonsHasBeenSet() const { return m_cancellationReasonsHasBeenSet; } /** *A list of cancellation reasons.
*/ inline void SetCancellationReasons(const Aws::VectorA list of cancellation reasons.
*/ inline void SetCancellationReasons(Aws::VectorA list of cancellation reasons.
*/ inline TransactionCanceledException& WithCancellationReasons(const Aws::VectorA list of cancellation reasons.
*/ inline TransactionCanceledException& WithCancellationReasons(Aws::VectorA list of cancellation reasons.
*/ inline TransactionCanceledException& AddCancellationReasons(const CancellationReason& value) { m_cancellationReasonsHasBeenSet = true; m_cancellationReasons.push_back(value); return *this; } /** *A list of cancellation reasons.
*/ inline TransactionCanceledException& AddCancellationReasons(CancellationReason&& value) { m_cancellationReasonsHasBeenSet = true; m_cancellationReasons.push_back(std::move(value)); return *this; } private: Aws::String m_message; bool m_messageHasBeenSet = false; Aws::Vector