我正在通过有关如何创建lambda函数的基本AWS:
http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser- create-test-function-create- function.html
在此示例中,我们正在创建图像调整大小服务,触发该服务的一种方法是侦听一些要推送到S3存储桶的图像,然后执行lambda函数。
但是我试图理解如何从我的nodejs应用程序调用此lambda函数,当用户将图像发送到我的节点服务器时,我通过REST API将该图像发送到aws lambda进行调整大小,然后以一个回应。
有什么我可以效法的例子吗?我对实际的调用部分更感兴趣,因为我已经启动并运行了lambda服务。
谢谢
由于您使用的是node.js服务器,因此您可以直接使用AWS JavaScript SDK(https://www.npmjs.com/package/aws-sdk)直接调用lambda 。这样,您不必担心使用API Gateway。
从服务器调用很简单:
var AWS = require('aws-sdk'); // you shouldn't hardcode your keys in production! See http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-configuring.html AWS.config.update({accessKeyId: 'akid', secretAccessKey: 'secret'}); var lambda = new AWS.Lambda(); var params = { FunctionName: 'myImageProcessingLambdaFn', /* required */ Payload: PAYLOAD_AS_A_STRING }; lambda.invoke(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });
请在此处查看其余的SDK文档:http : //docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html