AWS Lambda Blueprints for Kinesis Firehose data transformation are using Node.js 12, which is deprecated and won't deploy.

0

If you create a Kinesis Firehose stream and "enable data transformation" under "Transform records" while creating the stream, you're presented with a list of AWS Lambda Blueprints for common data transformations.

If you select "Apache Log to JSON," after creating this Lambda application it fails to deploy and rolls back, because Node.js 12 is no longer supported - and this blueprint specifies Node.js 12.

It looks like the "SysLog to JSON" blueprint has been updated, but "Apache Log to JSON" has not. The Apache log blueprint erroneously links to the syslog code as well, so perhaps that is how it fell through the cracks.

Will this blueprint be updated, restoring this now-broken functionality? Is there some way to override the runtime specified to get it working for now?

Here is the specific error upon deploying this blueprint:

kinesisfirehoseapachelogtojson

CREATE_FAILED

Resource handler returned message: "The runtime parameter of nodejs12.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs18.x) while creating or updating functions. (Service: Lambda, Status Code: 400, Request ID: e9e4a840-c9f5-4271-8cb6-895e258af842)" (RequestToken: 28a39732-e69e-4399-e948-1169b4264ea4, HandlerErrorCode: InvalidRequest)

Sundog
asked 10 months ago513 views
1 Answer
0

Hi,

You have got everything to create a new Lambda function from scratch. This is the source code => https://github.com/amazon-archives/serverless-app-examples/tree/master/javascript/kinesis-firehose-syslog-to-json Create your own Lambda function with index.js => https://github.com/amazon-archives/serverless-app-examples/blob/master/javascript/kinesis-firehose-syslog-to-json/index.js

I'm not familiar with JS but it seems you don't need to modify the source code. Just to add the new NodeJS runtime.

profile picture
Donov
answered 10 months ago
  • Thanks, it does look like the source of the Apache log to JSON script is there, although there were some other things like IAM roles that the blueprint also took care of. I can probably get things working again by setting it all up manually.

    Still, AWS needs to fix this. It should just be a matter of changing one character in their blueprint. It's a bit crazy that they deprecated Node.js 12 before updating their own code within their own services first.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions