S3 Module
The S3 Module stores webhook payloads in AWS S3 buckets.
Configuration
{
"s3_archival": {
"data_type": "json",
"module": "s3",
"connection": "s3_storage",
"module-config": {
"bucket": "my-webhook-bucket",
"prefix": "webhooks/archive",
"filename_pattern": "webhook_{timestamp}_{uuid}.json",
"include_headers": true
},
"authorization": "Bearer s3_secret"
}
}
Connection Configuration
In connections.json:
{
"s3_storage": {
"type": "s3",
"aws_access_key_id": "{$AWS_ACCESS_KEY_ID}",
"aws_secret_access_key": "{$AWS_SECRET_ACCESS_KEY}",
"region": "us-east-1",
"endpoint_url": null
}
}
Module Configuration Options
bucket: S3 bucket name (required)prefix: Optional prefix for object keysfilename_pattern: Pattern for object names (supports{timestamp},{uuid},{webhook_id})include_headers: Whether to include HTTP headers in stored data (default: false)content_type: Optional content type for objectsstorage_class: S3 storage class (STANDARD, STANDARD_IA, etc.)
Features
- Automatic file naming with timestamps and UUIDs
- Configurable storage paths
- Support for different storage classes
- AWS credentials via environment variables
- Connection pooling