узел execFile python скрипт в aws лямбда - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь выполнить сценарий через службу узла, размещенную на AWS lambda, но последовательно получаю исключение ENOENT.

2020-04-22 07:55:14.613 (-04:00)    9c8c54fc-2aa2-4d17-89d9-ca1e404191b7    ERROR   Error: spawn ./bin/test-bin.py ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
    at onErrorNT (internal/child_process.js:469:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: 'ENOENT',
  code: 'ENOENT',
  syscall: 'spawn ./bin/test-bin.py',
  path: './bin/test-bin.py',
  spawnargs: [ 1, 2 ],
  cmd: './bin/test-bin.py 1 2'
}

Выполнение cat bin / test-bin.py в дочернем процессе выплевывает исходный код скрипта, ls -l через дочерний процесс показывает, что скрипт исполняемый, и тот же код работает локально на моей linux машине.

  const { execFile } = require('child_process');
  execFile('cat', ["bin/test-bin.py"], (err, out) => {
    if (err) {
        console.error(err)
    }
    else {
      console.log(out)
    }
  });

Сценарий:

#!/usr/bin/python

import sys
import time

def sum(n1, n2):
  return int(n1) + int(n2)

print(sum(sys.argv[1], sys.argv[2]))
...