""" Task to scan a DynamoDB table """ import boto3 from boto3.dynamodb.types import TypeDeserializer from decorators import with_logging from boto_utils import paginate, deserialize_item ddb_client = boto3.client("dynamodb") deserializer = TypeDeserializer() @with_logging def handler(event, context): results = paginate( ddb_client, ddb_client.scan, "Items", TableName=event["TableName"] ) items = [deserialize_item(result) for result in results] return {"Items": items, "Count": len(items)}