在我的 AWS Lambda Python 3.6 函数上,我想使用 Google Firestore (Cloud Firestore BETA) 进行缓存,但是一旦我添加
from google.cloud import firestore
到我的 Python 脚本并将 ZIP 上传到 AWS Lambda 函数,Lambda 测试返回错误
Unable to import module 'MyLambdaFunction': cannot import name 'cygrpc'.
AWS CloudWatch 日志不包含有关错误的任何详细信息,仅包含相同的错误消息。
Lambda 函数在我的本地开发机器(Windows 10)上运行良好,我可以很好地写入 Firestore。如果我注释掉导入和所有 Firestore 相关行,它也适用于 AWS。
我如何解决这个问题的任何提示?
最佳答案
Firestore 的 Python 客户端依赖于基于 C 的 GRPC 实现。默认情况下,这在 AWS Lambda 中似乎不起作用。
Node.js 用户报告了类似的问题,并记录了 building a docker image 的解决方法。 .
这应该类似于获取任何其他需要 native 代码才能工作的 python 包。也许类似于这种获取 scikit to work 的方法?
我希望这足以让您朝着正确的方向前进,但不幸的是,我对 AWS Lambda 一无所知 :-(。
关于python-3.x - AWS Lambda 到 Firestore 错误 : cannot import name 'cygrpc' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46669176/