LogoAwesome Skills
  • Search
  • Category
  • Tag
  • Blog
LogoAwesome Skills
LogoAwesome Skills

Discover Open-Source Agent Skills for AI Coding Assistants

Product

  • Search
  • Category
  • Tag
  • Blog

Resources

  • Claude Skill Docs
  • Antigravity Skills Docs

Tools

  • Claude Code
  • OpenCode
  • Cursor
  • Codex
  • Antigravity

Company

  • Privacy Policy
  • Terms of Service
  • Sitemap

©2026 Awesome Skills. All rights reserved.

Privacy PolicyTerms
Back to Skills

processing-s3-uploads-with-step-functions

Deploy an event-driven workflow that routes S3 uploads to either Lambda or Fargate via Step Functions based on file size. Uses EventBridge to trigger a Step Functions state machine when objects are uploaded to S3. Small files are processed by Lambda, large files by a Fargate task. Includes VPC, ECR repository, ECS cluster, and scoped IAM roles. Trigger keywords: Step Functions, Fargate, Lambda, S3 event, EventBridge, ECS, ECR, file processing, workflow orchestration, serverless.

2,225stars216forksUpdated 8/5/2026
DevOps & CI/CDCloud Infrastructure#fargate#devops#step-functions#infrastructure#serverless#aws

Security Assessment

Safe(91/100)
Security Score91/100

About processing-s3-uploads-with-step-functions

This skill deploys an event-driven file-processing workflow on AWS using the official CLI. When a file is uploaded to an S3 bucket, EventBridge triggers a Step Functions state machine that inspects the file size and routes work to either a Lambda function for small files (up to 6 MB) or an ECS Fargate task for large files. It solves the problem of needing size-aware compute routing for uploads without hand-assembling the many services involved.

The procedure provisions the full stack: an S3 bucket with EventBridge notifications, an EventBridge rule, a Step Functions state machine with a Choice state, a Lambda function, an ECS Fargate task, a VPC with two subnets and an internet gateway, a security group whose egress is restricted to HTTPS and DNS, an ECR repository for the container image, and optional KMS-encrypted CloudWatch Logs. It emphasizes least-privilege IAM, creating four scoped roles (Lambda, ECS task execution, ECS task, and Step Functions) plus a separate EventBridge target role, each granted only the specific actions and resources it needs, such as s3:GetObject on the target bucket or states:StartExecution on the named state machine. It verifies dependencies (AWS CLI v2, Python 3.12, Docker), gathers and validates parameters up front, and waits for IAM propagation.

Target users are serverless and platform engineers who need to orchestrate mixed-size file processing with Step Functions, Lambda, and Fargate. It provisions real, billable infrastructure through official AWS tooling and follows scoped-permission and restricted-egress best practices rather than performing risky operations.

FAQ

How does file routing work?

EventBridge triggers a Step Functions state machine on S3 object creation; a Choice state sends files up to 6 MB to Lambda and larger files to an ECS Fargate task.

What prerequisites are required?

AWS CLI v2 (configured), Python 3.12 for the Lambda runtime, and Docker for building and pushing the Fargate container image.

When should I not use this skill?

When all files are small enough for Lambda (use S3 to Lambda directly), when you need real-time streaming (use Kinesis), or when you don't need file-size-based routing.

How are IAM permissions scoped?

It creates four roles plus a separate EventBridge role, each with least-privilege policies, for example s3:GetObject limited to the target bucket and states:StartExecution limited to the named state machine.

Is network egress restricted?

Yes. The Fargate security group is configured to allow only HTTPS and DNS outbound rather than open egress.

All Files

11 files
scripts/fargate_processor.py1.2 KB
View
scripts/lambda-trust-policy.json0.3 KB
View
references/iam-roles.md4.4 KB
View
SKILL.md15.5 KB
View
scripts/ecs-trust-policy.json0.3 KB
View
scripts/lambda_function.py1.3 KB
View
scripts/Dockerfile0.2 KB
View
scripts/stepfunctions-trust-policy.json0.3 KB
View
references/ecs-task-definition.md1.2 KB
View
scripts/statemachine.asl.json1.5 KB
View
scripts/eventbridge-trust-policy.json0.3 KB
View

Install processing-s3-uploads-with-step-functions

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

aws/agent-toolkit-for-aws

Related Skills

dbt-sf-to-bq-translator

21,076

build-models

102

html-prototype

3,588

doc

448