I'm trying to modify a Dynamodb table each time a Lambda function is executed. Specifically, I create a simple lambda function that returns a list of S3 bucket names and this function run each minute thanks to a Cloudwatch's rule. However, as I said before, my goal is to also update a Dynamodb each time the same function is executed. Specifically, I want to add each time to a new Item with the same attribute (so let's say the function is executed 1000 times, I want 1K items/rows).
However I don't know how to do it. Any suggestions? Here's the code:
import json import boto3 s3 = boto3.resource('s3') dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('Table') def lambda_handler(event, context): bucket_list = [] for b in s3.buckets.all(): print(b.name) bucket_list.append(b.name) response = "done" table.put_item( Item = { "Update": response } ) return { "statusCode": 200, "body": bucket_list }
Thank you in advance!!