1
votes

From the Pricing Docs :

DynamoDB charges for reading data from DynamoDB Streams in read request units. Each GetRecords API call is billed as a streams read request unit and returns up to 1 MB of data from DynamoDB Streams. Streams read request units are unique from read requests on your DynamoDB table.

I understand that lambda polls the stream 4 times per second, invoking the trigger when changes are detected as per the batching config. Does this mean that Stream Read Request Units are only consumed when items in DynamoDB actually change, or are they consumed during the polling as well?

1

1 Answers

0
votes

From the on-demand pricing doc, DynamoDB Streams section:

You are not charged for GetRecords API calls invoked by AWS Lambda as part of DynamoDB triggers.

So there is no charge, even if the data changed.