Amazon DynamoDB
Developer Guide (API Version 2012-08-10)

Legacy Conditional Parameters

This section compares the legacy conditional parameters with expression parameters in DynamoDB.

With the introduction of expression parameters (see Using Expressions in DynamoDB), several older parameters have been deprecated. New applications should not use these legacy parameters, but should use expression parameters instead. (For more information, see Using Expressions in DynamoDB.)


DynamoDB does not allow mixing legacy conditional parameters and expression parameters in a single call. For example, calling the Query operation with AttributesToGet and ConditionExpression will result in an error.

The following table shows the DynamoDB APIs that still support these legacy parameters, and which expression parameter to use instead. This table can be helpful if you are considering updating your applications so that they use expression parameters instead.

If You Use This API... With These Legacy Parameters... Use This Expression Parameter Instead
BatchGetItem AttributesToGet ProjectionExpression
DeleteItem Expected ConditionExpression
GetItem AttributesToGet ProjectionExpression
PutItem Expected ConditionExpression
Query AttributesToGet ProjectionExpression
KeyConditions KeyConditionExpression
QueryFilter FilterExpression
Scan AttributesToGet ProjectionExpression
ScanFilter FilterExpression
UpdateItem AttributeUpdates UpdateExpression
Expected ConditionExpression

The following sections provide more information about legacy conditional parameters.