Table / Action / update_item
update_item#
- DynamoDB.Table.update_item(**kwargs)#
- Edits an existing item’s attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn’t exist, or replace an existing name-value pair if it has certain expected attribute values). - You can also return the item’s attribute values in the same - UpdateItemoperation using the- ReturnValuesparameter.- See also: AWS API Documentation - Request Syntax- response = table.update_item( Key={ 'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{} }, AttributeUpdates={ 'string': { 'Value': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{}, 'Action': 'ADD'|'PUT'|'DELETE' } }, Expected={ 'string': { 'Value': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{}, 'Exists': True|False, 'ComparisonOperator': 'EQ'|'NE'|'IN'|'LE'|'LT'|'GE'|'GT'|'BETWEEN'|'NOT_NULL'|'NULL'|'CONTAINS'|'NOT_CONTAINS'|'BEGINS_WITH', 'AttributeValueList': [ 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{}, ] } }, ConditionalOperator='AND'|'OR', ReturnValues='NONE'|'ALL_OLD'|'UPDATED_OLD'|'ALL_NEW'|'UPDATED_NEW', ReturnConsumedCapacity='INDEXES'|'TOTAL'|'NONE', ReturnItemCollectionMetrics='SIZE'|'NONE', UpdateExpression='string', ConditionExpression=Attr('myattribute').eq('myvalue'), ExpressionAttributeNames={ 'string': 'string' }, ExpressionAttributeValues={ 'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{} }, ReturnValuesOnConditionCheckFailure='ALL_OLD'|'NONE' ) - Parameters:
- Key (dict) – - [REQUIRED] - The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute. - For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key. - (string) – - *(valid DynamoDB type) – *- The value of the attribute. The valid value types are listed in the DynamoDB Reference Guide. 
 
 
- AttributeUpdates (dict) – - This is a legacy parameter. Use - UpdateExpressioninstead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide.- (string) – - (dict) – - For the - UpdateItemoperation, represents the attributes to be modified, the action to perform on each, and the new value for each.- Note- You cannot use - UpdateItemto update any primary key attributes. Instead, you will need to delete the item, and then use- PutItemto create a new item with new attributes.- Attribute values cannot be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests with empty values will be rejected with a - ValidationExceptionexception.- Value *(valid DynamoDB type) – *- The value of the attribute. The valid value types are listed in the DynamoDB Reference Guide. 
- Action (string) – - Specifies how to perform the update. Valid values are - PUT(default),- DELETE, and- ADD. The behavior depends on whether the specified primary key already exists in the table.- If an item with the specified Key is found in the table: - PUT- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.
- DELETE- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value’s data type. If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set- [a,b,c]and the- DELETEaction specified- [a,c], then the final attribute value would be- [b]. Specifying an empty set is an error.
- ADD- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of- ADDdepends on the data type of the attribute:- If the existing attribute is a number, and if - Valueis also a number, then the- Valueis mathematically added to the existing attribute. If- Valueis a negative number, then it is subtracted from the existing attribute.
 - Note- If you use - ADDto increment or decrement a number value for an item that doesn’t exist before the update, DynamoDB uses 0 as the initial value. In addition, if you use- ADDto update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses- 0as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide to- ADDthe number- 3to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to- 0, and finally add- 3to it. The result will be a new itemcount attribute in the item, with a value of- 3.- If the existing data type is a set, and if the - Valueis also a set, then the- Valueis added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set- [1,2], and the- ADDaction specified- [3], then the final attribute value would be- [1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type. Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the- Valuemust also be a set of strings. The same holds true for number sets and binary sets.
 
 - This action is only valid for an existing attribute whose data type is number or is a set. Do not use - ADDfor any other data types.- If no item with the specified Key is found: - PUT- DynamoDB creates a new item with the specified primary key, and then adds the attribute.
- DELETE- Nothing happens; there is no attribute to delete.
- ADD- DynamoDB creates a new item with the supplied primary key and number (or set) for the attribute value. The only data types allowed are number, number set, string set or binary set.
 
 
 
 
- Expected (dict) – - This is a legacy parameter. Use - ConditionExpressioninstead. For more information, see Expected in the Amazon DynamoDB Developer Guide.- (string) – - (dict) – - Represents a condition to be compared with an attribute value. This condition can be used with - DeleteItem,- PutItem, or- UpdateItemoperations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use- ExpectedAttributeValuein one of two different ways:- Use - AttributeValueListto specify one or more values to compare against an attribute. Use- ComparisonOperatorto specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.
- Use - Valueto specify a value that DynamoDB will compare against an attribute. If the values match, then- ExpectedAttributeValueevaluates to true and the conditional operation succeeds. Optionally, you can also set- Existsto false, indicating that you do not expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.
 - Valueand- Existsare incompatible with- AttributeValueListand- ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a- ValidationExceptionexception.- Value *(valid DynamoDB type) – *- The value of the attribute. The valid value types are listed in the DynamoDB Reference Guide. 
- Exists (boolean) – - Causes DynamoDB to evaluate the value before attempting a conditional operation: - If - Existsis- true, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a- ConditionCheckFailedException.
- If - Existsis- false, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a- ConditionCheckFailedException.
 - The default setting for - Existsis- true. If you supply a- Valueall by itself, DynamoDB assumes the attribute exists: You don’t have to set- Existsto- true, because it is implied.- DynamoDB returns a - ValidationExceptionif:- Existsis- truebut there is no- Valueto check. (You expect a value to exist, but don’t specify what that value is.)
- Existsis- falsebut you also provide a- Value. (You cannot expect an attribute to have a value, while also expecting it not to exist.)
 
- ComparisonOperator (string) – - A comparator for evaluating attributes in the - AttributeValueList. For example, equals, greater than, less than, etc.- The following comparison operators are available: - EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN- The following are descriptions of each comparison operator. - EQ: Equal.- EQis supported for all data types, including lists and maps.- AttributeValueListcan contain only one- AttributeValueelement of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an- AttributeValueelement of a different type than the one provided in the request, the value does not match. For example,- {"S":"6"}does not equal- {"N":"6"}. Also,- {"N":"6"}does not equal- {"NS":["6", "2", "1"]}.
- NE: Not equal.- NEis supported for all data types, including lists and maps.- AttributeValueListcan contain only one- AttributeValueof type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an- AttributeValueof a different type than the one provided in the request, the value does not match. For example,- {"S":"6"}does not equal- {"N":"6"}. Also,- {"N":"6"}does not equal- {"NS":["6", "2", "1"]}.
- LE: Less than or equal.- AttributeValueListcan contain only one- AttributeValueelement of type String, Number, or Binary (not a set type). If an item contains an- AttributeValueelement of a different type than the one provided in the request, the value does not match. For example,- {"S":"6"}does not equal- {"N":"6"}. Also,- {"N":"6"}does not compare to- {"NS":["6", "2", "1"]}.
- LT: Less than.- AttributeValueListcan contain only one- AttributeValueof type String, Number, or Binary (not a set type). If an item contains an- AttributeValueelement of a different type than the one provided in the request, the value does not match. For example,- {"S":"6"}does not equal- {"N":"6"}. Also,- {"N":"6"}does not compare to- {"NS":["6", "2", "1"]}.
- GE: Greater than or equal.- AttributeValueListcan contain only one- AttributeValueelement of type String, Number, or Binary (not a set type). If an item contains an- AttributeValueelement of a different type than the one provided in the request, the value does not match. For example,- {"S":"6"}does not equal- {"N":"6"}. Also,- {"N":"6"}does not compare to- {"NS":["6", "2", "1"]}.
- GT: Greater than.- AttributeValueListcan contain only one- AttributeValueelement of type String, Number, or Binary (not a set type). If an item contains an- AttributeValueelement of a different type than the one provided in the request, the value does not match. For example,- {"S":"6"}does not equal- {"N":"6"}. Also,- {"N":"6"}does not compare to- {"NS":["6", "2", "1"]}.
- NOT_NULL: The attribute exists.- NOT_NULLis supported for all data types, including lists and maps.
 - Note- This operator tests for the existence of an attribute, not its data type. If the data type of attribute “ - a” is null, and you evaluate it using- NOT_NULL, the result is a Boolean- true. This result is because the attribute “- a” exists; its data type is not relevant to the- NOT_NULLcomparison operator.- NULL: The attribute does not exist.- NULLis supported for all data types, including lists and maps.
 - Note- This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute “ - a” is null, and you evaluate it using- NULL, the result is a Boolean- false. This is because the attribute “- a” exists; its data type is not relevant to the- NULLcomparison operator.- CONTAINS: Checks for a subsequence, or value in a set.- AttributeValueListcan contain only one- AttributeValueelement of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (”- SS”, “- NS”, or “- BS”), then the operator evaluates to true if it finds an exact match with any member of the set. CONTAINS is supported for lists: When evaluating “- a CONTAINS b”, “- a” can be a list; however, “- b” cannot be a set, a map, or a list.
- NOT_CONTAINS: Checks for absence of a subsequence, or absence of a value in a set.- AttributeValueListcan contain only one- AttributeValueelement of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (”- SS”, “- NS”, or “- BS”), then the operator evaluates to true if it does not find an exact match with any member of the set. NOT_CONTAINS is supported for lists: When evaluating “- a NOT CONTAINS b”, “- a” can be a list; however, “- b” cannot be a set, a map, or a list.
- BEGINS_WITH: Checks for a prefix.- AttributeValueListcan contain only one- AttributeValueof type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).
- IN: Checks for matching elements in a list.- AttributeValueListcan contain one or more- AttributeValueelements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.
- BETWEEN: Greater than or equal to the first value, and less than or equal to the second value.- AttributeValueListmust contain two- AttributeValueelements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an- AttributeValueelement of a different type than the one provided in the request, the value does not match. For example,- {"S":"6"}does not compare to- {"N":"6"}. Also,- {"N":"6"}does not compare to- {"NS":["6", "2", "1"]}
 
- AttributeValueList (list) – - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the - ComparisonOperatorbeing 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, - ais greater than- A, and- ais 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 information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide. - *(valid DynamoDB type) – *- The value of the attribute. The valid value types are listed in the DynamoDB Reference Guide. 
 
 
 
 
- ConditionalOperator (string) – This is a legacy parameter. Use - ConditionExpressioninstead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.
- ReturnValues (string) – - Use - ReturnValuesif you want to get the item attributes as they appear before or after they are successfully updated. For- UpdateItem, the valid values are:- NONE- If- ReturnValuesis not specified, or if its value is- NONE, then nothing is returned. (This setting is the default for- ReturnValues.)
- ALL_OLD- Returns all of the attributes of the item, as they appeared before the UpdateItem operation.
- UPDATED_OLD- Returns only the updated attributes, as they appeared before the UpdateItem operation.
- ALL_NEW- Returns all of the attributes of the item, as they appear after the UpdateItem operation.
- UPDATED_NEW- Returns only the updated attributes, as they appear after the UpdateItem operation.
 - There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed. - The values returned are strongly consistent. 
- ReturnConsumedCapacity (string) – - Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response: - INDEXES- The response includes the aggregate- ConsumedCapacityfor the operation, together with- ConsumedCapacityfor each table and secondary index that was accessed. Note that some operations, such as- GetItemand- BatchGetItem, do not access any indexes at all. In these cases, specifying- INDEXESwill only return- ConsumedCapacityinformation for table(s).
- TOTAL- The response includes only the aggregate- ConsumedCapacityfor the operation.
- NONE- No- ConsumedCapacitydetails are included in the response.
 
- ReturnItemCollectionMetrics (string) – Determines whether item collection metrics are returned. If set to - SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to- NONE(the default), no statistics are returned.
- UpdateExpression (string) – - An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them. - The following action values are available for - UpdateExpression.- SET- Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use- SETto add or subtract from an attribute that is of type Number. For example:- SET myNum = myNum + :val- SETsupports the following functions:- if_not_exists (path, operand)- if the item does not contain an attribute at the specified path, then- if_not_existsevaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.
- list_append (operand, operand)- evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.
 
 - These function names are case-sensitive. - REMOVE- Removes one or more attributes from an item.
- ADD- Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of- ADDdepends on the data type of the attribute:- If the existing attribute is a number, and if - Valueis also a number, then- Valueis mathematically added to the existing attribute. If- Valueis a negative number, then it is subtracted from the existing attribute.
 - Note- If you use - ADDto increment or decrement a number value for an item that doesn’t exist before the update, DynamoDB uses- 0as the initial value. Similarly, if you use- ADDfor an existing item to increment or decrement an attribute value that doesn’t exist before the update, DynamoDB uses- 0as the initial value. For example, suppose that the item you want to update doesn’t have an attribute named- itemcount, but you decide to- ADDthe number- 3to this attribute anyway. DynamoDB will create the- itemcountattribute, set its initial value to- 0, and finally add- 3to it. The result will be a new- itemcountattribute in the item, with a value of- 3.- If the existing data type is a set and if - Valueis also a set, then- Valueis added to the existing set. For example, if the attribute value is the set- [1,2], and the- ADDaction specified- [3], then the final attribute value is- [1,2,3]. An error occurs if an- ADDaction is specified for a set attribute and the attribute type specified does not match the existing set type. Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the- Valuemust also be a set of strings.
 
 - Warning- The - ADDaction only supports Number and set data types. In addition,- ADDcan only be used on top-level attributes, not nested attributes.- DELETE- Deletes an element from a set. If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set- [a,b,c]and the- DELETEaction specifies- [a,c], then the final attribute value is- [b]. Specifying an empty set is an error.
 - Warning- The - DELETEaction only supports set data types. In addition,- DELETEcan only be used on top-level attributes, not nested attributes.- You can have many actions in a single expression, such as the following: - SET a=:value1, b=:value2 DELETE :value3, :value4, :value5- For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide. 
- ConditionExpression (condition from - boto3.dynamodb.conditions.Attrmethod) – The condition(s) an attribute(s) must meet. Valid conditions are listed in the DynamoDB Reference Guide.
- ExpressionAttributeNames (dict) – - One or more substitution tokens for attribute names in an expression. The following are some use cases for using - ExpressionAttributeNames:- To access an attribute whose name conflicts with a DynamoDB reserved word. 
- To create a placeholder for repeating occurrences of an attribute name in an expression. 
- To prevent special characters in an attribute name from being misinterpreted in an expression. 
 - Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name: - Percentile
 - The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.) To work around this, you could specify the following for - ExpressionAttributeNames:- {"#P":"Percentile"}
 - You could then use this substitution in an expression, as in this example: - #P = :val
 - Note- Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime. - For more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide. - (string) – - (string) – 
 
 
- ExpressionAttributeValues (dict) – - One or more values that can be substituted in an expression. - Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the - ProductStatusattribute was one of the following:- Available | Backordered | Discontinued- You would first need to specify - ExpressionAttributeValuesas follows:- { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }- You could then use these values in an expression, such as this: - ProductStatus IN (:avail, :back, :disc)- For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide. - (string) – - *(valid DynamoDB type) – *- The value of the attribute. The valid value types are listed in the DynamoDB Reference Guide. 
 
 
- ReturnValuesOnConditionCheckFailure (string) – - An optional parameter that returns the item attributes for an - UpdateItemoperation that failed a condition check.- There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed. 
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'Attributes': { 'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{} }, 'ConsumedCapacity': { 'TableName': 'string', 'CapacityUnits': 123.0, 'ReadCapacityUnits': 123.0, 'WriteCapacityUnits': 123.0, 'Table': { 'ReadCapacityUnits': 123.0, 'WriteCapacityUnits': 123.0, 'CapacityUnits': 123.0 }, 'LocalSecondaryIndexes': { 'string': { 'ReadCapacityUnits': 123.0, 'WriteCapacityUnits': 123.0, 'CapacityUnits': 123.0 } }, 'GlobalSecondaryIndexes': { 'string': { 'ReadCapacityUnits': 123.0, 'WriteCapacityUnits': 123.0, 'CapacityUnits': 123.0 } } }, 'ItemCollectionMetrics': { 'ItemCollectionKey': { 'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{} }, 'SizeEstimateRangeGB': [ 123.0, ] } } - Response Structure- (dict) – - Represents the output of an - UpdateItemoperation.- Attributes (dict) – - A map of attribute values as they appear before or after the - UpdateItemoperation, as determined by the- ReturnValuesparameter.- The - Attributesmap is only present if the update was successful and- ReturnValueswas specified as something other than- NONEin the request. Each element represents one attribute.- (string) – - *(valid DynamoDB type) – *- The value of the attribute. The valid value types are listed in the DynamoDB Reference Guide. 
 
 
- ConsumedCapacity (dict) – - The capacity units consumed by the - UpdateItemoperation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation.- ConsumedCapacityis only returned if the- ReturnConsumedCapacityparameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.- TableName (string) – - The name of the table that was affected by the operation. 
- CapacityUnits (float) – - The total number of capacity units consumed by the operation. 
- ReadCapacityUnits (float) – - The total number of read capacity units consumed by the operation. 
- WriteCapacityUnits (float) – - The total number of write capacity units consumed by the operation. 
- Table (dict) – - The amount of throughput consumed on the table affected by the operation. - ReadCapacityUnits (float) – - The total number of read capacity units consumed on a table or an index. 
- WriteCapacityUnits (float) – - The total number of write capacity units consumed on a table or an index. 
- CapacityUnits (float) – - The total number of capacity units consumed on a table or an index. 
 
- LocalSecondaryIndexes (dict) – - The amount of throughput consumed on each local index affected by the operation. - (string) – - (dict) – - Represents the amount of provisioned throughput capacity consumed on a table or an index. - ReadCapacityUnits (float) – - The total number of read capacity units consumed on a table or an index. 
- WriteCapacityUnits (float) – - The total number of write capacity units consumed on a table or an index. 
- CapacityUnits (float) – - The total number of capacity units consumed on a table or an index. 
 
 
 
- GlobalSecondaryIndexes (dict) – - The amount of throughput consumed on each global index affected by the operation. - (string) – - (dict) – - Represents the amount of provisioned throughput capacity consumed on a table or an index. - ReadCapacityUnits (float) – - The total number of read capacity units consumed on a table or an index. 
- WriteCapacityUnits (float) – - The total number of write capacity units consumed on a table or an index. 
- CapacityUnits (float) – - The total number of capacity units consumed on a table or an index. 
 
 
 
 
- ItemCollectionMetrics (dict) – - Information about item collections, if any, that were affected by the - UpdateItemoperation.- ItemCollectionMetricsis only returned if the- ReturnItemCollectionMetricsparameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.- Each - ItemCollectionMetricselement consists of:- ItemCollectionKey- The partition key value of the item collection. This is the same as the partition key value of the item itself.
- SizeEstimateRangeGB- An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.
 - ItemCollectionKey (dict) – - The partition key value of the item collection. This value is the same as the partition key value of the item. - (string) – - *(valid DynamoDB type) – *- The value of the attribute. The valid value types are listed in the DynamoDB Reference Guide. 
 
 
- SizeEstimateRangeGB (list) – - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit. - The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate. - (float) –