Using AWS Lambda and Python - AWS Prescriptive Guidance

Using AWS Lambda and Python

This solution is similar to the .NET custom implementation solution. However, because this approach uses AWS Lambda, it's a serverless solution. The solution can read directly from the source DynamoDB table and write directly to the target DynamoDB table, or it can use the DynamoDB export feature. Using the export feature requires additional logic to convert data in a compressed file format to JSON items before the data can be added to the target table using the DynamoDB BatchWriteItem operation.

This solution works best for DynamoDB tables that are smaller than 500 MB.

Advantages

  • It’s a serverless solution.

  • When the export feature is used, the solution does not consume any provisioned throughput on the source table.

Drawbacks

  • When reading and writing directly, the solution consumes provisioned throughput on both the source and the target tables, so it can affect performance and availability.

  • The additional AWS service, Lambda, is required, and there is additional code to manage.

  • Lambda has a runtime limit of 15 minutes.