Как запустить скрипт Python, который находится в S3, используя лямбду - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу запустить код Python, который у меня есть в моем S3-контейнере, используя AWS lambda

Я пробовал с os библиотекой, но она не сработала

Мой код:

from __future__ import print_function
import os

def lambda_handler(event, context):
    os.system('python https://s3.us-east-2.amazonaws.com/BUCKET/CODE.py')

Я получаю сообщение "Нет такого файла или каталога"

Я использую лямбду, потому что код на python должен запускаться, когда происходит какое-то событие

Как мне запустить мой код?

1 Ответ

1 голос
/ 01 апреля 2019

Как вы думаете, что произойдет, если вы запустите python http://google.com.py на своей машине?

Он попытается запустить файл с именем http://google.com.py в текущем рабочем каталоге.

Невозможно для os.system и python определить, является ли аргумент URL-адресом, и, если это так, загрузить и выполнить его содержимое.

Вам нужно будет получить ваш файл S3, используя boto3, записать его содержимое в /tmp (это единственный каталог доступный для записи внутри функций Lambda) и, наконец, вызвать его следующим образом:

os.system('python /tmp/myscript.py')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...