By using AWS re:Post, you agree to the AWS re:Post Terms of Use

(AWS CDK)Unable to use Axios in Lambda function

0

This is my cdk structure Enter image description here

This is the Error I got Enter image description here

This my lambda Code Enter image description here

This is my package.json, I have installed esbuild and axios locally Enter image description here

Could anyone help?

1 Answer
1

Hi,

You are getting this error because you are trying to use the CDK project's package.json to be used by your Lambda Function too. But, it doesn't work that way.

There are 2 options to achieve this:

  1. You can create a separate runtime environment (i.e. package.json) for your lambda, and then install the "axios" dependency into it. [1]
  2. You can also choose to create a Lambda Layer that includes the "axios" dependency and configure the Lambda function to use the Lambda Layer.

For ease, you can go with the first option. Here's a reference for it: [1]. The folder structure should look like this:

|-- lambdas/
|    |-- package.json
|    |-- index.ts
|-- bin/
|-- lib/
|-- package.json
|-- ...

References:
[1] https://stackoverflow.com/questions/67361096/how-can-i-zip-node-lambda-dependencies-in-aws-cdk-stack
[2] https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda-readme.html

Thanks,
Atul

profile picture
answered a year ago

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