Skip to content
Star
478
Star
478

Simple ETL

This guide shows you how to build a file processing pipeline using AWS S3, Lambda, and DynamoDB locally with LocalStack. This lab demonstrates how S3 uploads trigger a Lambda to log metadata into a DynamoDB table.

  1. Setup Environment:

    Open VS Code in the project folder and execute this command in the Command Palette:

    Terminal window
    > Dev Containers: Reopen in Container
  2. Run the Example:

    Terminal window
    python main.py

There are other deployment methods that you can use in this Lab.

Terminal window
terraform -chdir=deploy init
terraform -chdir=deploy apply -auto-approve
  • Check S3 Bucket:
    Terminal window
    aws s3 ls s3://file-uploads-bucket --profile localstack
  • Scan DynamoDB Table:
    Terminal window
    aws dynamodb scan --table-name file-logs --profile localstack
  • View Lambda Logs:
    Terminal window
    aws logs tail /aws/lambda/s3-file-processor --profile localstack
Terminal window
docker compose down -v
IssueSolution
Connection RefusedEnsure LocalStack is running and wait for the Ready. message in logs.
Lambda Not TriggeringVerify logs: aws logs tail /aws/lambda/s3-file-processor --profile localstack