Test API built with .NET 9 to experiment with AWS S3 and SQS integration.
Includes basic endpoints to upload, list, download files, and publish events to a queue.
POST /upload→ Upload a file to S3 (stored underuploads/) and publish metadata to SQS.GET /list→ List all files in the bucket.GET /download?key=...→ Download a file by key.
- .NET 9 SDK
- AWS S3 bucket + IAM user with permissions (
s3:PutObject,s3:GetObject,s3:ListBucket,s3:DeleteObject) - AWS SQS queue + IAM user with permissions (
sqs:SendMessage)
The S3 bucket name, base path, and SQS queue URL are defined in appsettings.json:
"S3": {
"BucketName": "your-bucket-name",
"BasePath": "uploads"
},
"SQS": {
"QueueUrl": "https://sqs.<region>.amazonaws.com/<account-id>/<queue-name>.fifo"
}dotnet restore
dotnet run