By using AWS re:Post, you agree to the Terms of Use

How to read DynamoDB table using aws lambda function in python?


I have a use-case where I have to read DynamoDB table data and convert this into csv file and write into a s3 bucket using AWS lambda function. DynamoDB tables data is bit low around 2-3 MB so I want to read entire table every week. I am new to AWS and services and want to how to read table without triggers and how to schedule lambda function so it can run every week?

Please share the steps to accomplish this task.

Any help would be appreciated.

1 Answer

To schedule a Lambda function to run on a regular basis, use CloudWatch Events.

Scanning a whole DynamoDB table may not be the most efficient way of doing things but here's some code anyway:

import boto3

ddbclient = boto3.client('dynamodb')

def lambda_handler(event, context):
    paginator = ddbclient.get_paginator('scan')
    iterator = paginator.paginate(TableName='YourTableNameHere')

    for page in iterator:
        for item in page['Items']:
            <do some work here>
profile picture
answered 5 months ago
  • Okay cool and how can i schedule this lambda function to run every week?

  • Use CloudWatch Events with a cron expression telling it when you want to run the function.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions