S3¶
AWS S3 and S3-compatible object storage (MinIO, DigitalOcean Spaces, etc.). Use it for file uploads, backups, static assets, or any object storage workflow.
Configuration¶
connector "s3" {
type = "file"
driver = "s3"
bucket = env("S3_BUCKET")
region = env("AWS_REGION")
access_key = env("AWS_ACCESS_KEY_ID")
secret_key = env("AWS_SECRET_ACCESS_KEY")
# For MinIO or other S3-compatible storage
endpoint = "http://localhost:9000"
use_path_style = true
}
| Option | Type | Default | Description |
|---|---|---|---|
driver |
string | — | Must be s3 |
bucket |
string | — | S3 bucket name |
region |
string | — | AWS region |
access_key |
string | — | AWS access key ID |
secret_key |
string | — | AWS secret access key |
endpoint |
string | — | Custom endpoint for S3-compatible storage |
use_path_style |
bool | false |
Use path-style URLs (required for MinIO) |
Operations¶
| Operation | Direction | Description |
|---|---|---|
read |
read | Read an object |
write |
write | Write an object |
list |
read | List objects by prefix |
delete |
write | Delete an object |
Example¶
flow "upload_file" {
from {
connector = "api"
operation = "POST /upload"
}
to {
connector = "s3"
operation = "write"
target = "uploads/"
}
}
flow "download_file" {
from {
connector = "api"
operation = "GET /files/:key"
}
to { connector = "s3" }
}
See the s3 example for a complete working setup.
Full configuration reference: See S3 in the Configuration Reference.