The selection criteria for the query. For a query on a table, you can only have conditions on the table primary key attributes. You must
specify the hash key attribute name and value as an EQ condition. You can optionally specify a second condition, referring to the
range key attribute. For a query on an index, you can only have conditions on the index key attributes. You must specify the index hash
attribute name and value as an EQ condition. You can optionally specify a second condition, referring to the index key range attribute. If
you specify more than one condition in the KeyConditions map, then by default all of the conditions must evaluate to true. In other
words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do
this, then at least one of the conditions must evaluate to true, rather than all of them.) Each KeyConditions element consists of an
attribute name to compare, along with the following:
- AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used. For type Number, value comparisons are numeric. String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and aa is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values, for example when evaluating query expressions. For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.
- ComparisonOperator - A comparator for evaluating attributes. For example, equals, greater than, less than, etc. For KeyConditions, the following comparison operators are supported: EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN For complete descriptions of comparison operators, see API_Condition.html.
Declaration Syntax
C# |
public Dictionary<string, Condition> KeyConditions { get; set; }