使用
aws-sdk每个Lambda中都提供的,从另一个Lambda函数中调用Lambda函数非常简单。
我建议首先从 简单的 事情开始。
这是lambda内调用的“ Hello World”:
Lambda_A``Lambda_B使用
Payload包含一个参数的调用
name:'Alex'。
Lambda_B回应有效负载:
"Hello Alex"。
首先创建
Lambda_B,它期望参数具有
name属性 , 并使用以下命令响应请求:
event
"Hello "+event.nameLambda_B
exports.handler = function(event, context) { console.log('Lambda B Received event:', JSON.stringify(event, null, 2)); context.succeed('Hello ' + event.name);};
确保你给
Lambda_B和
Lambda_A相同的作用。
例如:创建一个
lambdaexecute具有
AWSLambdaExecute和
的角色
AWSLambdaBasicExecutionRole( 出于某些原因,两者都需要 ):Lambda_A
var AWS = require('aws-sdk');AWS.config.region = 'eu-west-1';var lambda = new AWS.Lambda();exports.handler = function(event, context) { var params = { FunctionName: 'Lambda_B', // the lambda function we are going to invoke InvocationType: 'RequestResponse', LogType: 'Tail', Payload: '{ "name" : "Alex" }' }; lambda.invoke(params, function(err, data) { if (err) { context.fail(err); } else { context.succeed('Lambda_B said '+ data.Payload); } })};
保存完这两个Lambda函数后,请运行以下命令
Lambda_A:
一旦完成了 基本 的lambdda内调用工作,就可以轻松扩展它以调用更复杂的Lambda函数。
您要 记住 的主要事情是 为所有功能 设置适当
ARN Role的功能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)