使用node.js在AWS Lambda中调用shell脚本

使用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脚本。

在此先感谢!

安迪

+1

你读过这个吗? https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/ –

拉姆达只支持child_process.spawnchild_process.spawnSync。尝试改变你的电话child_process.exec,这应该为你解决它。