AWS S3 Integration
The AWS S3 integration supports production file uploads through presigned URLs and backend-managed completion.
Upload Flow
- Initialize an upload session.
- Upload file bytes to the presigned S3 URL.
- Complete the upload with part metadata.
curl -X POST http://localhost:8080/v1/files/uploads/init \
-H "Content-Type: application/json" \
-d '{"fileName":"test.pdf","mimeType":"application/pdf","fileSize":1024}'
curl -X POST http://localhost:8080/v1/files/uploads/complete \
-H "Content-Type: application/json" \
-d '{"sessionId":"...","parts":[{"partNumber":1,"eTag":"..."}]}'
Runtime Components
| Component | Purpose |
|---|---|
AwsS3IntegrationUtil | Reads and reports configured S3 settings |
InternalAwsS3IntegrationInitializer | Initializes account-level S3 setup |
S3StorageDriver | Implements storage-driver behavior for S3 |
FileUploadService | Orchestrates upload sessions |
FileController | Exposes upload REST endpoints |
Operational Rule
Use IAM roles or managed credentials in production. Do not hardcode AWS keys in application config, docs, scripts, or examples.
Related: