transact_get_items
(**kwargs)¶TransactGetItems
is a synchronous operation that atomically retrieves multiple items from one or more tables (but not from indexes) in a single account and Region. ATransactGetItems
call can contain up to 100TransactGetItem
objects, each of which contains aGet
structure that specifies an item to retrieve from a table in the account and Region. A call toTransactGetItems
cannot retrieve items from tables in more than one Amazon Web Services account or Region. The aggregate size of the items in the transaction cannot exceed 4 MB.
DynamoDB rejects the entire TransactGetItems
request if any of the following is true:
See also: AWS API Documentation
Request Syntax
response = client.transact_get_items(
TransactItems=[
{
'Get': {
'Key': {
'string': {
'S': 'string',
'N': 'string',
'B': b'bytes',
'SS': [
'string',
],
'NS': [
'string',
],
'BS': [
b'bytes',
],
'M': {
'string': {'... recursive ...'}
},
'L': [
{'... recursive ...'},
],
'NULL': True|False,
'BOOL': True|False
}
},
'TableName': 'string',
'ProjectionExpression': 'string',
'ExpressionAttributeNames': {
'string': 'string'
}
}
},
],
ReturnConsumedCapacity='INDEXES'|'TOTAL'|'NONE'
)
[REQUIRED]
An ordered array of up to 100 TransactGetItem
objects, each of which contains a Get
structure.
Specifies an item to be retrieved as part of the transaction.
Contains the primary key that identifies the item to get, together with the name of the table that contains the item, and optionally the specific attributes of the item to retrieve.
A map of attribute names to AttributeValue
objects that specifies the primary key of the item to retrieve.
Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide .
An attribute of type String. For example:
"S": "Hello"
An attribute of type Number. For example:
"N": "123.45"
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.
An attribute of type Binary. For example:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"
An attribute of type String Set. For example:
"SS": ["Giraffe", "Hippo" ,"Zebra"]
An attribute of type Number Set. For example:
"NS": ["42.2", "-19", "7.5", "3.14"]
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
An attribute of type Map. For example:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}
Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide .
An attribute of type List. For example:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]
Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide .
An attribute of type Null. For example:
"NULL": true
An attribute of type Boolean. For example:
"BOOL": true
The name of the table from which to retrieve the specified item.
A string that identifies one or more attributes of the specified item to retrieve from the table. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes of the specified item are returned. If any of the requested attributes are not found, they do not appear in the result.
One or more substitution tokens for attribute names in the ProjectionExpression parameter.
TOTAL
causes consumed capacity information to be returned, and a value of NONE
prevents that information from being returned. No other value is valid.dict
Response Syntax
{
'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
}
}
},
],
'Responses': [
{
'Item': {
'string': {
'S': 'string',
'N': 'string',
'B': b'bytes',
'SS': [
'string',
],
'NS': [
'string',
],
'BS': [
b'bytes',
],
'M': {
'string': {'... recursive ...'}
},
'L': [
{'... recursive ...'},
],
'NULL': True|False,
'BOOL': True|False
}
}
},
]
}
Response Structure
(dict) --
ConsumedCapacity (list) --
If the ReturnConsumedCapacity value was TOTAL
, this is an array of ConsumedCapacity
objects, one for each table addressed by TransactGetItem
objects in the TransactItems parameter. These ConsumedCapacity
objects report the read-capacity units consumed by the TransactGetItems
call in that table.
(dict) --
The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity
is only returned if the request asked for it. 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.
Responses (list) --
An ordered array of up to 100 ItemResponse
objects, each of which corresponds to the TransactGetItem
object in the same position in the TransactItems array. Each ItemResponse
object contains a Map of the name-value pairs that are the projected attributes of the requested item.
If a requested item could not be retrieved, the corresponding ItemResponse
object is Null, or if the requested item has no projected attributes, the corresponding ItemResponse
object is an empty Map.
(dict) --
Details for the requested item.
Item (dict) --
Map of attribute data consisting of the data type and attribute value.
(string) --
(dict) --
Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide .
S (string) --
An attribute of type String. For example:
"S": "Hello"
N (string) --
An attribute of type Number. For example:
"N": "123.45"
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.
B (bytes) --
An attribute of type Binary. For example:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"
SS (list) --
An attribute of type String Set. For example:
"SS": ["Giraffe", "Hippo" ,"Zebra"]
NS (list) --
An attribute of type Number Set. For example:
"NS": ["42.2", "-19", "7.5", "3.14"]
Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.
BS (list) --
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
M (dict) --
An attribute of type Map. For example:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}
(string) --
(dict) --
Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide .
L (list) --
An attribute of type List. For example:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]
(dict) --
Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide .
NULL (boolean) --
An attribute of type Null. For example:
"NULL": true
BOOL (boolean) --
An attribute of type Boolean. For example:
"BOOL": true
Exceptions
DynamoDB.Client.exceptions.ResourceNotFoundException
DynamoDB.Client.exceptions.TransactionCanceledException
DynamoDB.Client.exceptions.ProvisionedThroughputExceededException
DynamoDB.Client.exceptions.RequestLimitExceeded
DynamoDB.Client.exceptions.InternalServerError