Claudiajs: ошибка EACCES в лямбде
Я пытаюсь выполнить sh файл в Lambda, но я получил ошибку EACCES.
Что я сделал:
- Использование дочернего процесса-обещания для выполнения файла sh
Использование ClaudiaJS для упаковки и развертывания Lambda + API Gateway
var ApiBuilder = require('claudia-api-builder'); api = new ApiBuilder(); module.exports = api; api.post(‘/api/execute’, function (request) { var spawn = require('child-process-promise').spawn; var promise = spawn(‘./run.sh', [id, '5']); var childProcess = promise.childProcess; childProcess.stdout.on('data', function(data){ console.log('[spawn] stdout: ', data.toString()); }); childProcess.stderr.on('data', function(data){ console.log('[spawn] stderr: ', data.toString()); }); return promise.then(function () { return ‘Executed Successfully’; }) .catch(function (err) { console.error('[spawn] ERROR: ', err); }); });
Насколько я знаю, sh-файл не имеет разрешения на выполнение. На сервере ElasticBean Talk я мог бы использовать chmod
дать файлу разрешение, но как это сделать в лямбде.
Любое предложение приветствуется.