У меня есть AWS EC2 экземпляр на linux, работающий 24/7 с набором python файлов, которые работают правильно. Из оболочки я могу ввести python python_script.py var1 var2
. var1 и var2 - просто целые числа со значениями менее 5000.
Я могу настроить API AWS для получения запросов HTTPS, которые доставляют эти переменные в качестве переменных среды. Затем я могу использовать AWS лямбда-код для запуска некоторого кода при срабатывании API.
Я не могу на всю жизнь выяснить, какой код включить в лямбда-функцию для запуска python скрипт на экземпляре EC2 с двумя переменными. Все результаты, которые я нашел, относящиеся к этой проблеме, связаны со сценариями при запуске экземпляра EC2, выполнением команд без каких-либо переменных или настройкой всего веб-сервера с доменом и всем, что нужно для получения запроса HTTPS. Я просто хочу получить доступ к API из удаленного местоположения, доставить два целых числа, а затем запустить файл python с этими целыми числами.
Я нашел совет по Как запустить скрипт на ваш aws -ec2 из сценария на вашем локальном компьютере?
ssh -i key.pem ubuntu@ec2-instance "bash /path/to/your/script/data.sh"
Так что для моего собственного случая использования я попытался изменить его на:
ssh -i python_bot.pem ubuntu@ec2-instance "python Python_Project/python_script.py 2 166"
Однако , когда я запускаю этот код из своей собственной оболочки, я получаю bash: python: command not found
. Это странно, потому что, если я выполняю ssh -i python_bot.pem ubuntu@ec2-instance
и затем после входа в систему выполняю python Python_Project/python_script.py 2 166
, файл запускается успешно. Я думаю, если я смогу заставить это работать, то я могу попробовать некоторые решения из Можно ли написать bash скрипт внутри AWS лямбда-функции
Я также нашел Запуск Python Сценарий в существующем экземпляре EC2 на AWS, и хотя ответ дал мне какое-то указание, он слишком широк, чтобы помочь с конкретным c решением.