Amazon kinesis Firehose simple setup
Requirments
- nodejs
- yarn or npm (We will use yarn)
- git
- AWS Account
Initial Setup
First lets create a working directory
$ mkdir amazonFirehoseTest
$ cd amazonFirehoseTestNow lets initailze a new npm package
$ yarn init -yLets add babel into the mix because we want to write es6
$ yarn add @babel/core @babel/node @babel/preset-env --devwe also need to create a .bashrc file with the following content:
{
"presets": ["@babel/preset-env"]
}lets a develop script to the package.json
{
...
"scripts": {
"develop": "babel-node index.js"
},
...
}This will let use the latest and greates javascript.
Getting Amazon Firehose up and running
Now lets install Amazon AWS and firehose.
We will also install the dotenv package because we dont want to hard code our aws key.
yarn add aws-sdk dotenv firehoserFirst we need to set our aws key. We don't want to hard code the key because we never want to push it to github or some other public repo. To handle env variables we instaled dotenv. This package will load all env variables from the .env file in your main working directory. so lets create it and add our aws key.
touch .envNow open the file and add the following:
accessKeyId=YOURAWSKEY
secretAccessKey=YOURACCESSKEYNow lets create our index file
touch index.jsLets now load the env variables and set the AWS config.
// Import the aws sdk
import AWS from 'aws-sdk';
// This loads the .env file
require('dotenv').config();
// This sets the aws config
AWS.config.update({
accessKeyId: process.env.accessKeyId,
secretAccessKey: process.env.secretAccessKey
});Now you should be able to connect to AWS. Let's now add firehose and save something in it
// import firehoser in the top of your file
import firehoser from 'firehoser';
// Add this code after the aws config
// create a new delivery stream
let firehose = new firehoser.DeliveryStream('my_delivery_stream_name');
// Send a single record to Kinesis Firehose...
firehose.putRecord('value1|value2|value3');