I have a cdk project that includes lambda functions, dynamodb and api gateway. To run it locally I use SAM local:
sam local start-api -t ./cdk.out/stackName.template.json
In the project I use aws-sdk v2 and everything works fine.
Now, I want to change to aws-sdk v3 so I install dynamoDB client:
npm install @aws-sdk/client-dynamodb
and import it in my lambda index file:
const { DynamoDBClient } = require("@aws-sdk/client-dynamodb");
https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html
i run cdk synth
and then again sam local start-api -t ./cdk.out/stackName.template.json
, everything seems fine.
But when I hit the lambda function i get error this error:
undefined ERROR Uncaught Exception {"errorType":"Runtime.UserCodeSyntaxError","errorMessage":"SyntaxError: Unexpected token '?'","stack":["Runtime.UserCodeSyntaxError: SyntaxError: Unexpected token '?'"," at _loadUserApp (/var/runtime/UserFunction.js:98:13)"," at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)"," at Object.<anonymous> (/var/runtime/index.js:43:30)"," at Module._compile (internal/modules/cjs/loader.js:999:30)"," at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)"," at Module.load (internal/modules/cjs/loader.js:863:32)"," at Function.Module._load (internal/modules/cjs/loader.js:708:14)"," at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)"," at internal/main/run_main_module.js:17:47"]}
time="2022-11-24T13:14:55.537" level=error msg="Init failed" InvokeID= error="Runtime exited with error: exit status 129"
My package.json:
{
"name": "aws-api-v1",
"version": "0.1.0",
"scripts": {},
"dependencies": {
"@aws-sdk/client-dynamodb": "^3.216.0",
"@aws-sdk/client-secrets-manager": "^3.216.0",
"jsonwebtoken": "^8.5.1"
}
}
Any suggestion?
Thank you.