Python 3.x AWS Lambda到Firestore错误:无法导入名称';cygrpc&x27;
在我的AWS Lambda Python 3.6函数中,我想使用Google Firestore(Cloud Firestore BETA)进行缓存,但只要我添加Python 3.x AWS Lambda到Firestore错误:无法导入名称';cygrpc&x27;,python-3.x,amazon-web-services,firebase,firebase-storage,google-cloud-firestore,Python 3.x,Amazon Web Services,Firebase,Firebase Storage,Google Cloud Firestore,在我的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 CloudWat
from google.cloud import firestore
到我的Python脚本并将ZIP上传到AWS Lambda函数,Lambda测试返回错误
Unable to import module 'MyLambdaFunction': cannot import name 'cygrpc'.
AWS CloudWatch日志不包含有关错误的任何详细信息,只是相同的错误消息
Lambda函数在我的本地开发机器(Windows10)上运行得很好,我可以很好地编写Firestore。如果我注释掉导入和所有Firestore相关行,它也可以在AWS上工作
关于如何解决这个问题,有什么建议吗?Firestore的python客户端依赖于基于C的GRPC实现。默认情况下,这在AWS Lambda中不起作用 Node.js用户报告了类似的问题,并记录了解决方法 这应该类似于任何其他需要本机代码才能工作的python包。也许是像这样的一种获取方法
我希望这足以让您朝着正确的方向前进,但不幸的是,我对AWS Lambda一无所知:-(.遇到了同样的问题,我通过使用适用于无服务器框架的插件
无服务器python要求
解决了这个问题,并传递:
pythonRequirements:
dockerizePip: true
本质上,这将在docker容器中安装基于c的包(以及所有其他包),然后将它们符号链接到lambda fn
有关有用的指南,请访问:
插件: