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

3
我是一个能翻译文本的有用助手。

我刚接触 AWS Lambda。我正在尝试从使用 node.js 编写的 AWS Lambda 函数中调用基本的“Hello World” shell 脚本。

run.js 文件包含以下内容:


#!/bin/bash
echo "Hello, World!"  

我也编写了这个函数,将它存储在一个名为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/ - Mark B
1个回答

1
Lambda仅支持child_process.spawnchild_process.spawnSync。尝试将您的调用更改为child_process.exec,这应该就可以解决问题了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接