Я пытаюсь создать лямбда-функцию, в которой функция вызывает две команды в экземпляре ec2. Когда у меня возникли проблемы с запуском этого кода в лямбда-функции, я удалил код из метода exports.handler () и запустил код в отдельном файле node.js в том же экземпляре ec2, и я смог заставить код работать , Я выполнил команду 'node app. js'.
exports.handler = async (event) => {
const AWS = require('aws-sdk')
AWS.config.update({region:'us-east-1'});
var ssm = new AWS.SSM();
var params = {
DocumentName: 'AWS-RunShellScript', /* required */
InstanceIds: ['i-xxxxxxxxxxxxxxxx'],
Parameters: {
'commands': [
'mkdir /home/ec2-user/testDirectory',
'php /home/ec2-user/helloWorld.php'
/* more items */
],
/* '<ParameterName>': ... */
}
};
ssm.sendCommand(params, function(err, data) {
if (err) {
console.log("ERROR!");
console.log(err, err.stack); // an error occurred
}
else {
console.log("SUCCESS!");
console.log(data);
} // successful response
});
const response = {
statusCode: 200,
ssm: ssm
};
return response;
};
. Я подумал, что это могла быть проблема, связанная с разрешениями, но лямбда-код отличается от того же vp c, что и ec2. экземпляр находится в.