2016-04-14 4 views
1

Ich bin neu in AWS Lambda. Ich versuche, ein grundlegendes Shell-Skript "Hello World" von einer AWS Lambda-Funktion aufzurufen, die in node.js codiert ist.Shell-Skript in AWS Lambda mit node.js aufrufen

run.js Datei enthält die folgenden:


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

I haben auch die Funktion codiert, indem sie in einer Datei index.js storign folgendes enthält:


var exec = require('child_process').exec; 

exports.handler = function(event, context) { 
    exec('./run.sh' , function(error, stdout) { 
     context.done(error, stdout); 
    }); 
}; 

Ich habe eine Zip-Datei erstellt, die beide Dateien enthält, und sie auf die AWS Lambda-Konsole hochgeladen, indem ich eine neue Lambda-Funktion erstellt und ihr eine lambda_basic_execution-Rolle zugewiesen habe.

Ich hatte erwartet, die Hello World sehen zu können, habe Varianten dieses Codes ausprobiert, konnte aber bisher kein Shell-Skript von einer AWS Lambda-Funktion aufrufen.

Vielen Dank im Voraus!

Andy

+1

Haben Sie das gelesen? https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/ –

Antwort

0

Lambda unterstützt nur child_process.spawn und child_process.spawnSync. Versuchen Sie, Ihren Anruf zu child_process.exec zu ändern, und das sollte es für Sie beheben.