使用node.js在AWS Lambda中调用shell脚本
问题描述:
我是AWS Lambda的新手。我试图从node.js中编写的AWS Lambda函数调用基本的“Hello World”shell脚本。使用node.js在AWS Lambda中调用shell脚本
run.js文件包含以下:
:
#!/bin/bash
echo "Hello, World!"
我也由含有下列storign它在index.js文件中编码的功能
var exec = require('child_process').exec;
exports.handler = function(event, context) {
exec('./run.sh' , function(error, stdout) {
context.done(error, stdout);
});
};
我创建了一个包含两个文件的zip文件,并通过创建新的Lambda函数并将其授予lambda_basic_execution角色将其上载到AWS Lambda控制台。
我期待能够看到Hello World,尝试过这段代码的变体,但到目前为止一直无法从AWS Lambda函数调用shell脚本。
在此先感谢!
安迪
答
拉姆达只支持child_process.spawn
和child_process.spawnSync
。尝试改变你的电话child_process.exec
,这应该为你解决它。
你读过这个吗? https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/ –