

  1. lambdaファンクション(index.js)と一緒に実行ファイル(youtube-dl)を同梱してzipに圧縮したものをアップロード。
  2. lambdaファンクションを実行すると権限が無いと言われる。コードは以下のとおり

[code]

    exports.handler = function(event, context) {
      var exec = require('child_process').exec;
      exec('./youtube-dl --version', function (error, stdout, stderr) {
        if(stdout){
          console.log('stdout: ' + stdout);
        }
        if(stderr){
          console.log('stderr: ' + stderr);
        }
        if (error !== null) {
          console.log('Exec error: ' + error);
        }
        context.succeed(stdout);
      });
    };
    
[/code]

実行権限を変更したくても書き込み権限が無いようでchmodで変更できません。  
書き込み可能な/tmpに実行ファイルをコピーした後

> chmod 755 youtube-dl

とすると権限が変更できて実行もできますが、不便です。  
どうにかファンクションと同じディレクトリで実行することはできませんか？


CC BY-SA 3.0
2015-11-24T13:10:37.020
19254
2017-08-06T01:30:22.650
2017-08-06T01:30:22.650
19110
12779
question
node.js aws aws-lambda
AWS lambdaで外部コマンド実行ができない


(コメント転記)

自己解決しました。 zipに圧縮する前にunixマシン等でパーミッションを設定しておけば実行できました。


CC BY-SA 3.0
2016-10-23T10:37:05.860
29834
2016-10-23T10:37:05.860
754
19254
answer