0

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.

fedonev
  • 20,327
  • 2
  • 25
  • 34
Davide Bracaglia
  • 159
  • 1
  • 1
  • 12

0 Answers0