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 дать файлу разрешение, но как это сделать в лямбде.

Любое предложение приветствуется.

0 ответов

Другие вопросы по тегам