AWS
Overview
The AWS Destination package allows you to send events to various AWS services using walkerOS. Currently, it supports AWS Firehose, with plans to add more services like SNS, SQS, CloudWatch, and Lambda.
Installation
To get started, install the package via npm:
npm install @elbwalker/destination-node-aws
Configuration
Configure the AWS destination with your AWS credentials and settings. Below is an example configuration:
import destinationAWS from '@elbwalker/destination-node-aws';
const config = {
firehose: firehoseConfig,
};
await elb('walker destination', destinationAWS, config);
Firehose
To configure AWS Firehose, use the following example:
const firehoseConfig = {
streamName: 'your-firehose-stream-name',
region: 'eu-central-1', // e.g., 'eu-central-1' for Frankfurt
credentials: {
accessKeyId: 'your-access-key-id',
secretAccessKey: 'your-secret-access-key',
},
};
await elb('walker destination', destinationAWS, { firehose: firehoseConfig });
Optional Configuration Fields
region
: AWS region where your services are hosted.credentials
: AWS credentials for authentication, containingaccessKeyId
andsecretAccessKey
.
Usage
You can add the destination multiple times, each with one AWS service configured, or once with all services combined. This flexibility allows you to use different credentials or handle error handling individually.
Example
Here is a simple example to demonstrate how to use the AWS destination with walkerOS:
import destinationAWS from '@elbwalker/destination-node-aws';
const config = {
firehose: {
streamName: 'your-firehose-stream-name',
region: 'eu-central-1',
credentials: {
accessKeyId: 'your-access-key-id',
secretAccessKey: 'your-secret-access-key',
},
},
};
await elb('walker destination', destinationAWS, config);
Who this package is for
This destination is ideal for data engineers and analysts who are already using AWS or plan to integrate it into their data stack. It's also useful for companies looking to centralize their data collection and analysis efforts.
Permissions
When using AWS credentials, it's recommended to follow the principle of least privilege. Never grant more permissions than what is necessary to perform the intended functions.
During initial setup, the credentials may require broader permissions to create necessary resources. For production environments, it is recommended to assign specific permissions directly to the resources required.
For more detailed information, refer to the official AWS IAM documentation.