Overview
S3 Buckets provide scalable object storage for your Fjall applications. While Fjall automatically handles infrastructure like ECR repositories and logs, you can add S3 buckets when you need dedicated storage for user content, static websites, or data sharing. Use S3 buckets for:- User file uploads (images, documents, videos)
- Static website hosting
- Application backups and archives
- Sharing data between applications
- Media asset storage
When to Use
Fjall’s factories automatically provision most storage needs:- ComputeFactory - Creates ECR repositories for container images
- DatabaseFactory - Manages RDS storage and backups
- Logs - Automatically stored in CloudWatch
- User-uploaded content storage
- Static website hosting with custom requirements
- Cross-application file sharing
- Specific compliance or lifecycle rules
Accessing from Fjall Applications
Lambda Function Access
ECS Container Access
Common Patterns
User Upload Bucket
Static Website Hosting
Lifecycle Rules for Cost Optimization
Lambda Integration Examples
Process Uploaded Files
Generate Presigned URLs
CORS Configuration
For browser uploads:Access Patterns
Read-Only Access
Write-Only Access
Full Access
Public Read
Best Practices
- Enable versioning for user-uploaded content
- Use lifecycle rules to transition old files to cheaper storage
- Block public access by default for security
- Use presigned URLs for secure browser uploads
- Enable encryption for sensitive data
- Set RemovalPolicy.RETAIN for production buckets
- Grant minimum permissions needed for each service
- Use environment variables to pass bucket names to compute
See Also
- ComputeFactory - Connect Lambda and ECS to S3
- ECR Repository - Container image storage
- Lambda Function - Process S3 events