AWS lambdaで外部コマンド実行ができない
- lambdaファンクション(index.js)と一緒に実行ファイル(youtube-dl)を同梱してzipに圧縮したものをアップロード。
- lambdaファンクションを実行すると権限が無いと言われる。コードは以下のとおり
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);
});
};
実行権限を変更したくても書き込み権限が無いようでchmodで変更できません。
書き込み可能な/tmpに実行ファイルをコピーした後
chmod 755 youtube-dl
とすると権限が変更できて実行もできますが、不便です。
どうにかファンクションと同じディレクトリで実行することはできませんか?