Complete the code to enable DynamoDB Streams on a table.
aws dynamodb update-table --table-name MyTable --stream-specification StreamEnabled=[1],StreamViewType=NEW_IMAGETo enable DynamoDB Streams, you set StreamEnabled to true.
Complete the code to poll DynamoDB for new records using the AWS SDK.
const params = { StreamArn: 'MyStreamArn', [1]: 'LATEST' };ShardIteratorType set to 'LATEST' tells the poller to start from the newest records.
Fix the error in this polling code snippet to correctly retrieve records from DynamoDB Streams.
const records = await dynamodbstreams.getRecords({ ShardIterator: [1] }).promise();The parameter name is case-sensitive and must be 'ShardIterator'.
Fill both blanks to create a DynamoDB Stream event handler that processes new records.
exports.handler = async (event) => {
for (const record of event.[1]) {
if (record.eventName === '[2]') {
console.log('New record:', record.dynamodb.NewImage);
}
}
};The event object has a 'Records' array. 'INSERT' is the eventName for new records.
Fill all three blanks to create a polling loop that fetches and processes DynamoDB Stream records.
let shardIterator = await dynamodbstreams.getShardIterator({
StreamArn: streamArn,
ShardId: shardId,
ShardIteratorType: '[1]'
}).promise().then(data => data.[2]);
while (shardIterator) {
const data = await dynamodbstreams.getRecords({ ShardIterator: shardIterator }).promise();
data.[3].forEach(record => {
console.log('Record:', record);
});
shardIterator = data.NextShardIterator;
await new Promise(resolve => setTimeout(resolve, 1000));
}ShardIteratorType 'LATEST' starts from newest records. The promise returns 'ShardIterator'. The data contains 'Records' array.