auths
objectreturn
or this.key = 'value'
, pass input data to your code viaparams
, and maintain state across executions with$checkpoint.async
(event, steps) => {
}
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()