Эй, ребята, кто-нибудь здесь имел успех, остановив указание лямбда-функции, выполняемой локально с кодом Visual Studio и nodejs8.10? Интересно, потому что мой проект машинописный?
Я следовал https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging-nodejs.html безрезультатно.
Функция запускается, если я выполняю stopOnEntry: true
vscode останавливается на каком-то файле, но не на точках останова моей действительной функции.
Выход:
$ sam local invoke ConsumeSQSFunction --no-event --region us-west-2 -d 5858
2019-04-30 11:19:16 Found credentials in shared credentials file: ~/.aws/credentials
2019-04-30 11:19:16 Invoking index.processPublisherServicesQueue (nodejs8.10)
Fetching lambci/lambda:nodejs8.10 Docker container image......
2019-04-30 11:19:17 Mounting /home/dev/Documents/xxxx/main-dir/dist/lambda-section/consume-sqs as /var/task:ro,delegated inside runtime container
Debugger listening on ws://0.0.0.0:5858/74f34edb-cdcd-4da0-82c0-950f5d809fd9
For help see https://nodejs.org/en/docs/inspector
Debugger attached.
START RequestId: 1a4198ca-cceb-1b38-f251-386a239dad19 Version: $LATEST
2019-04-30T18:19:19.800Z 1a4198ca-cceb-1b38-f251-386a239dad19 Hello World!
2019-04-30T18:19:19.800Z 1a4198ca-cceb-1b38-f251-386a239dad19 Processing queue {} [] undefined
END RequestId: 1a4198ca-cceb-1b38-f251-386a239dad19
REPORT RequestId: 1a4198ca-cceb-1b38-f251-386a239dad19 Duration: 199.46 ms Billed Duration: 200 ms Memory Size: 128 MB Max Memory Used: 45 MB
{"statusCode":200,"body":"{\"message\":\"hello world\"}"}
Waiting for the debugger to disconnect...
Структура проекта:
launch.json
/main-dir
/app
/lambda-section (where I did sam init)
/ConsumeSQS
index.ts
template.yaml
event.json
/etc
/dist
/lambda-section
/ConsumeSQS
index.js
index.js.map
Соответствующий раздел из template.yaml
Resources:
ConsumeSQSFunction:
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
Properties:
FunctionName: ConsumeSQS
Description: 'Consumes messages from SQS queue'
CodeUri: ../../dist/lambda-section/consume-sqs/
Handler: index.processPublisherServicesQueue
Runtime: nodejs8.10
launch.json:
,
{
"name": "Attach to SAM CLI",
"type": "node",
"request": "attach",
"address": "localhost",
"port": 5858,
// From the sam init example, it would be "${workspaceRoot}/hello_world"
"localRoot": "${workspaceRoot}/main-dir/app/lambda-section",
"remoteRoot": "/var/task",
"protocol": "inspector",
"stopOnEntry": false
}