Accept HTTP requests, send payload to Kinesis
@dylburger
code:
data:privatelast updated:5 years ago
today
Build integrations remarkably fast!
You're viewing a public workflow template.
Sign up to customize, add steps, modify code and more.
Join 1,000,000+ developers using the Pipedream platform
steps.
trigger
HTTP API
Deploy to generate unique URL
This workflow runs on Pipedream's servers and is triggered by HTTP / Webhook requests.
steps.
nodejs
auth
to use OAuth tokens and API keys in code via theauths object
code
Write any Node.jscodeand use anynpm package. You can alsoexport datafor use in later steps via return or this.key = 'value', pass input data to your code viaparams, and maintain state across executions with$checkpoint.
async (event, steps) => {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
}
31
const AWS = require("aws-sdk")

// Environment variables (see Environment link above)
// will be exposed in process.env. The IAM user tied to the
// access and secret key below need only have Kinesis
// PutRecord permissions.
const {
  KINESIS_ACCESS_KEY,
  KINESIS_SECRET_KEY,
  KINESIS_REGION,
  KINESIS_STREAM_NAME, // Just the name of the stream, not the ARN, is enough
} = process.env

const kinesis = new AWS.Kinesis({
  accessKeyId: KINESIS_ACCESS_KEY,
  secretAccessKey: KINESIS_SECRET_KEY,
  region: KINESIS_REGION,
})

const params = {
  Data: JSON.stringify($event.body), // Kinesis will base64-encode the data passed here
  PartitionKey: '1', // Set based on your sharding strategy
  StreamName: KINESIS_STREAM_NAME,
};

// Save the response from the Kinesis API to a property
// of $event, which we save in a Pipedream SQL table
// for troubleshooting later. 
$event.kinesisResp = await kinesis.putRecord(params).promise()