This component enables seamless integration between Edgee and Amazon S3, allowing you to collect and forward analytics events to your data lake on S3.
- Download the latest component version from our releases page
- Place the
s3.wasm
file in your server (e.g.,/var/edgee/components
) - Add the following configuration to your
edgee.toml
:
[[destinations.data_collection]]
id = "amazon-s3"
file = "/var/edgee/components/s3.wasm"
settings.aws_access_key = "YOUR_AWS_ACCESS_KEY"
settings.aws_secret_key = "YOUR_AWS_SECRET_KEY"
settings.aws_region = "YOUR_AWS_REGION"
settings.s3_bucket = "YOUR_S3_BUCKET_NAME"
The component maps Edgee events to S3 objects as follows:
Edgee Event | S3 object | Description |
---|---|---|
Page | {bucket}/{prefix}{random-key}.json |
Full JSON dump of the Page event |
Track | {bucket}/{prefix}{random-key}.json |
Full JSON dump of the Track event |
User | {bucket}/{prefix}{random-key}.json |
Full JSON dump of the User event |
[[destinations.data_collection]]
id = "amazon-s3"
file = "/var/edgee/components/s3.wasm"
settings.aws_access_key = "YOUR_AWS_ACCESS_KEY"
settings.aws_secret_key = "YOUR_AWS_SECRET_KEY"
settings.aws_region = "YOUR_AWS_REGION"
settings.s3_bucket = "YOUR_S3_BUCKET_NAME"
# Optional configurations
settings.aws_session_token = "YOUR_AWS_SESSION_TOKEN" # Useful for tests, not recommended in prod since it's short-lived
settings.s3_key_prefix = "sub-folder/" # Optional prefix for all S3 objects
Control which events are forwarded to S3:
settings.edgee_page_event_enabled = true # Enable/disable page view tracking
settings.edgee_track_event_enabled = true # Enable/disable custom event tracking
settings.edgee_user_event_enabled = true # Enable/disable user identification
Prerequisites:
- Rust
- wit-deps:
cargo install wit-deps
Build command:
edgee component build
Test command:
make test
Test coverage command:
make test.coverage[.html]
Interested in contributing? Read our contribution guidelines
Report security vulnerabilities to [email protected]