2020/11/23 - Amazon DynamoDB - 6 new api methods
Changes With this release, you can capture data changes in any Amazon DynamoDB table as an Amazon Kinesis data stream. You also can use PartiQL (SQL-compatible language) to manipulate data in DynamoDB tables.
Starts table data replication to the specified Kinesis data stream at a timestamp chosen during the enable workflow. If this operation doesn't return results immediately, use DescribeKinesisStreamingDestination to check if streaming to the Kinesis data stream is ACTIVE.
See also: AWS API Documentation
Request Syntax
client.enable_kinesis_streaming_destination( TableName='string', StreamArn='string' )
string
[REQUIRED]
The name of the DynamoDB table.
string
[REQUIRED]
The ARN for a Kinesis data stream.
dict
Response Syntax
{ 'TableName': 'string', 'StreamArn': 'string', 'DestinationStatus': 'ENABLING'|'ACTIVE'|'DISABLING'|'DISABLED'|'ENABLE_FAILED' }
Response Structure
(dict) --
TableName (string) --
The name of the table being modified.
StreamArn (string) --
The ARN for the specific Kinesis data stream.
DestinationStatus (string) --
The current status of the replication.
Returns information about the status of Kinesis streaming.
See also: AWS API Documentation
Request Syntax
client.describe_kinesis_streaming_destination( TableName='string' )
string
[REQUIRED]
The name of the table being described.
dict
Response Syntax
{ 'TableName': 'string', 'KinesisDataStreamDestinations': [ { 'StreamArn': 'string', 'DestinationStatus': 'ENABLING'|'ACTIVE'|'DISABLING'|'DISABLED'|'ENABLE_FAILED', 'DestinationStatusDescription': 'string' }, ] }
Response Structure
(dict) --
TableName (string) --
The name of the table being described.
KinesisDataStreamDestinations (list) --
The list of replica structures for the table being described.
(dict) --
Describes a Kinesis data stream destination.
StreamArn (string) --
The ARN for a specific Kinesis data stream.
DestinationStatus (string) --
The current status of replication.
DestinationStatusDescription (string) --
The human-readable string that corresponds to the replica status.
Stops replication from the DynamoDB table to the Kinesis data stream. This is done without deleting either of the resources.
See also: AWS API Documentation
Request Syntax
client.disable_kinesis_streaming_destination( TableName='string', StreamArn='string' )
string
[REQUIRED]
The name of the DynamoDB table.
string
[REQUIRED]
The ARN for a Kinesis data stream.
dict
Response Syntax
{ 'TableName': 'string', 'StreamArn': 'string', 'DestinationStatus': 'ENABLING'|'ACTIVE'|'DISABLING'|'DISABLED'|'ENABLE_FAILED' }
Response Structure
(dict) --
TableName (string) --
The name of the table being modified.
StreamArn (string) --
The ARN for the specific Kinesis data stream.
DestinationStatus (string) --
The current status of the replication.
This operation allows you to perform transactional reads or writes on data stored in DynamoDB, using PartiQL.
See also: AWS API Documentation
Request Syntax
client.execute_transaction( TransactStatements=[ { 'Statement': 'string', 'Parameters': [ { '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 }, ] }, ], ClientRequestToken='string' )
list
[REQUIRED]
The list of PartiQL statements representing the transaction to run.
(dict) --
Represents a PartiQL statment that uses parameters.
Statement (string) -- [REQUIRED]
A PartiQL statment that uses parameters.
Parameters (list) --
The parameter values.
(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"]
(string) --
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.
(string) --
BS (list) --
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
(bytes) --
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
string
Set this value to get remaining results, if NextToken was returned in the statement response.
This field is autopopulated if not provided.
dict
Response Syntax
{ '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) --
Responses (list) --
The response to a PartiQL transaction.
(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"]
(string) --
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.
(string) --
BS (list) --
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
(bytes) --
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
This operation allows you to perform batch reads and writes on data stored in DynamoDB, using PartiQL.
See also: AWS API Documentation
Request Syntax
client.batch_execute_statement( Statements=[ { 'Statement': 'string', 'Parameters': [ { '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 }, ], 'ConsistentRead': True|False }, ] )
list
[REQUIRED]
The list of PartiQL statements representing the batch to run.
(dict) --
A PartiQL batch statement request.
Statement (string) -- [REQUIRED]
A valid PartiQL statement.
Parameters (list) --
The parameters associated with a PartiQL statement in the batch request.
(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"]
(string) --
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.
(string) --
BS (list) --
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
(bytes) --
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
ConsistentRead (boolean) --
The read consistency of the PartiQL batch request.
dict
Response Syntax
{ 'Responses': [ { 'Error': { 'Code': 'ConditionalCheckFailed'|'ItemCollectionSizeLimitExceeded'|'RequestLimitExceeded'|'ValidationError'|'ProvisionedThroughputExceeded'|'TransactionConflict'|'ThrottlingError'|'InternalServerError'|'ResourceNotFound'|'AccessDenied'|'DuplicateItem', 'Message': 'string' }, 'TableName': 'string', '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) --
Responses (list) --
The response to each PartiQL statement in the batch.
(dict) --
A PartiQL batch statement response..
Error (dict) --
The error associated with a failed PartiQL batch statement.
Code (string) --
The error code associated with the failed PartiQL batch statement.
Message (string) --
The error message associated with the PartiQL batch resposne.
TableName (string) --
The table name associated with a failed PartiQL batch statement.
Item (dict) --
A DynamoDB item associated with a BatchStatementResponse
(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"]
(string) --
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.
(string) --
BS (list) --
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
(bytes) --
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
This operation allows you to perform reads and singleton writes on data stored in DynamoDB, using PartiQL.
See also: AWS API Documentation
Request Syntax
client.execute_statement( Statement='string', Parameters=[ { '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 }, ], ConsistentRead=True|False, NextToken='string' )
string
[REQUIRED]
The PartiQL statement representing the operation to run.
list
The parameters for the PartiQL statement, if any.
(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"]
(string) --
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.
(string) --
BS (list) --
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
(bytes) --
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
boolean
The consistency of a read operation. If set to true , then a strongly consistent read is used; otherwise, an eventually consistent read is used.
string
Set this value to get remaining results, if NextToken was returned in the statement response.
dict
Response Syntax
{ 'Items': [ { '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 } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Items (list) --
If a read operation was used, this property will contain the result of the reade operation; a map of attribute names and their values. For the write operations this value will be empty.
(dict) --
(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"]
(string) --
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.
(string) --
BS (list) --
An attribute of type Binary Set. For example:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
(bytes) --
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
NextToken (string) --
If the response of a read request exceeds the response payload limit DynamoDB will set this value in the response. If set, you can use that this value in the subsequent request to get the remaining results.