Вызов лямбды из другой лямбды локально в пределах Serverless - PullRequest
1 голос
/ 24 апреля 2019

Я использую servless + aws + node.js.

У меня есть лямбда, называющая другую лямбду. Я не могу управлять участком локально. Я могу вызвать обе лямбды локально с помощью 'serverless invoke local -f ...' НО
вызывающий возвращается с:

{"message":"Function not found: arn:aws:lambda:eu-west-1:5701xxxxxxxxxx:function:the-right-function-name"}

как если бы функция вызывающего абонента вызывала вызываемого в AWS, а не локально.

Можно ли как-нибудь остаться там, и если да, то чего мне не хватает?

1 Ответ

0 голосов
/ 24 апреля 2019

Вы можете достичь этого с помощью этого плагина . Существует функция AWS SDK для Lambda, которая позволяет переопределить конечную точку API службы Lambda. Поэтому вы можете установить его на localhost.

const AWS = require('aws-sdk');

const endpoint = process.env.SERVERLESS_SIMULATE ?
  process.env.SERVERLESS_SIMULATE_LAMBDA_ENDPOINT :
  undefined

const lambda = new AWS.Lambda({ endpoint })

Подробнее см. В файле readme плагина. Также есть хорошая статья об этом.

...