【发布时间】:2022-05-02 15:53:03
【问题描述】:
我想将 pycharm 中的工作 python 项目部署到 aws lambda。该项目正在使用 google-ads 库从 google ads 中获取一些报告数据。
我尝试通过压缩项目内的所有文件夹/文件而不是项目文件夹本身来将完整项目导入为 zip 文件来部署 lambda。但我收到以下错误:
{
"errorMessage": "Unable to import module 'main': cannot import name 'cygrpc' from 'grpc._cython' (/var/task/grpc/_cython/__init__.py)",
"errorType": "Runtime.ImportModuleError",
"stackTrace": []
}
假设 google-ads 库正在工作并且 grpc 有问题(顺便说一句,google-ads 包含 grpcio 和它自己的东西),我尝试为 grpcio、cython、cygrpc 创建一个层,但错误仍然相同。
我在 aws lambda 中创建项目/层,它们可以工作。我不知道我在这里做错了什么。
任何帮助将不胜感激!
版本:google-ads-14.1.0、python-3.9、grpcio-1.43.0
【问题讨论】:
-
您介意分享您的 SAM 模板以用于 lambda 和层定义吗?
-
我没有使用 SAM。我只是压缩并将其导入 lambda。您是否建议我研究一下 SAM,它会解决问题吗?
标签: python aws-lambda google-ads-api