测试python硒网刮板的代码时,AWS Lambda错误

时间:2020-03-28 19:55:15

标签: python amazon-web-services selenium aws-lambda

我一直在努力让AWS Lambda运行我的代码。我正在关注https://robertorocha.info/setting-up-a-selenium-web-scraper-on-aws-lambda-with-python/。试图让需要硒和无头铬的AWS Lambda上的Web刮板工作。我会说我使用的是Windows,而不是linux / mac。

本教程使用lambci复制AWS Lambda的环境并安装linux相关性。 制作最终的zip文件以上传到S3以便与lambda一起使用时。

当我按照教程中的说明将python脚本放入文件夹/ src中时,它不会导入模块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

要上传到S3的zip文件的文件夹结构。

lambda_function.py
/lib
/bin

当我运行make docker-run时,代码运行正常,没有错误消息。由于某种原因,运行生成lambda软件包的makefile代码时,我收到一条错误消息。我实际上是手动完成此部分的,移动文件夹并压缩库,python文件。我想知道那是我的错误所在。我读过某个地方numpy无法与AWS Lambda很好地集成,但是在构建映像时会使用linux .whl文件,并且在错误消息中未提及该文件。

我已经尝试过搜索错误消息,说实话,它没有太多内容!我实际上不确定这是什么意思。

任何帮助将不胜感激。如果您需要我发布我的python代码,那很好,但是正如我所说, make docker-run正常运行,没有错误,因此我不确定是代码本身造成了问题。

感谢所有帮助,即使只是为了弄清错误消息的含义。

0 个答案:

没有答案