Skip to content

edgee-cloud/amazon-data-firehose-component

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Amazon Data Firehose component for Edgee

Coverage Status GitHub issues Edgee Component Registry

This component enables seamless integration between Edgee and Amazon Data Firehose, allowing you to collect and forward analytics events to your delivery streams.

Quick Start

  1. Download the latest component version from our releases page
  2. Place the firehose.wasm file in your server (e.g., /var/edgee/components)
  3. Add the following configuration to your edgee.toml:
[[destinations.data_collection]]
id = "firehose"
file = "/var/edgee/components/firehose.wasm"
settings.aws_access_key = "YOUR_AWS_ACCESS_KEY"
settings.aws_secret_key = "YOUR_AWS_SECRET_KEY"
settings.aws_region = "YOUR_AWS_REGION"
settings.firehose_stream = "YOUR_STREAM_NAME"

Please note that your Firehose Delivery Stream needs "Direct PUT" as source.

Event Handling

Event Mapping

The component maps Edgee events to Firehose records as follows:

Edgee Event Firehose record Description
Page full-event.json Full JSON dump of the Page event
Track full-event.json Full JSON dump of the Track event
User full-event.json Full JSON dump of the User event

Configuration Options

Basic Configuration

[[destinations.data_collection]]
id = "firehose"
file = "/var/edgee/components/firehose.wasm"
settings.aws_access_key = "YOUR_AWS_ACCESS_KEY"
settings.aws_secret_key = "YOUR_AWS_SECRET_KEY"
settings.aws_region = "YOUR_AWS_REGION"
settings.firehose_stream = "YOUR_STREAM_NAME"

# Optional configurations
settings.aws_session_token = "YOUR_AWS_SESSION_TOKEN" # Useful for tests, not recommended in prod since it's short-lived

Event Controls

Control which events are forwarded to Amazon Data Firehose:

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

Development

Building from Source

Prerequisites:

  • Rust
  • wit-deps: cargo install wit-deps

Build command:

make build

Test command:

make test

Test coverage command:

make test.coverage[.html]

Contributing

Interested in contributing? Read our contribution guidelines

Security

Report security vulnerabilities to [email protected]