У меня есть лямбда, написанная на узле.Мне нужно вызвать функцию get_api_key
из библиотеки boto3 .Урезанная версия моей лямбда-функции Node.js находится здесь:
exports.handler = function(input, context) {
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["pythonScript.py", "API_KEY_123"]);
pythonProcess.stdout.on('data', (data) => {
console.log("DATA FROM PYTHON: ", data);
});
};
Я использовал функциональность для этого из этого вопроса .Мой скрипт Python выглядит следующим образом:
import sys
import boto3
#this is the client
client = boto3.client('apigateway')
apiKey = client.get_api_key(apiKey=sys.argv[1], includeValue=True)
print(apiKey)
Я ожидал увидеть результат console.log
в моих журналах CloudWatch для этой функции Lambda, но, похоже, мы не получаем никаких данных из скрипта Python, поскольку нетрегистрация сделана.
Я делаю то, что пытаюсь сделать правильно?В функции Lambda есть настройка, которая говорит, что она написана в Node.js, так что я не знаю, будет ли причиной того, что тот факт, что я случайно сделал скрипт Python в том же каталоге, что и функция Lambda, вызовет проблему?
Я рад за альтернативу этому, если это может быть проще.