AWS Лямбда-ошибка при тестировании кода для python Selen Web Scraper - PullRequest
0 голосов
/ 28 марта 2020

Я подходил к кирпичной стене, чтобы получить AWS Lambda для запуска моего кода. Я слежу за https://robertorocha.info/setting-up-a-selenium-web-scraper-on-aws-lambda-with-python/. Попытка заставить веб-скребок работать на AWS Lambda, который нуждается в селене и без головы chrome. Я скажу, что я использую windows, а не linux / ma c.

В этом учебнике используется lambci для репликации среды AWS Lambda и для установки linux зависимостей. При создании окончательного zip-файла для загрузки на S3 для использования с лямбдой.

Когда я помещаю скрипт python в папку / sr c, как сказано в учебнике, он не будет импортировать модуль lambda_function. Когда я сам помещаю файл python в zip-файл, он, кажется, запускается, но появляется это сообщение об ошибке, я изменил переменную окружения в lambda, чтобы я увидел lambda_function.py.

{
  "errorMessage": "Unable to import module 'lambda_function': cannot import name 'WinDLL' from 'ctypes' (/var/lang/lib/python3.7/ctypes/__init__.py)",
  "errorType": "Runtime.ImportModuleError"
}

Здесь мои требования:

boto3==1.6.18
botocore==1.9.18
selenium==3.141.0
chromedriver-install==1.0.3
numpy==1.18.2
requests==2.23.0

Структура папки zip-файла для загрузки на S3.

lambda_function.py
/lib
/bin

Когда я запускаю make docker-run, код работает нормально без сообщений об ошибках. По какой-то причине я получал сообщение об ошибке при запуске кода makefile, который собирает пакет lambda. Я сделал эту часть вручную, по сути перемещая папки и архивируя библиотеки, python файл вверх. Мне интересно, в этом ли моя ошибка. Я где-то читал, что numpy плохо интегрируется с AWS Lambda, но он использует файл linux .whl при создании изображения и не упоминается в сообщении об ошибке.

У меня есть попытался погуглить сообщение об ошибке, и если честно, в этом нет ничего особенного! Я не совсем уверен, что это значит.

Любая помощь будет оценена. Если вам нужно, чтобы я опубликовал свой код python, это нормально, но, как я уже сказал, make docker-run работал без ошибок, поэтому я не уверен, что проблема заключается в самом коде.

Цените любую помощь, даже если вы просто понимаете, о чем может быть сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...