我现在关于Python和AWS,我正在做我的一个项目,它要求我使用kivy开发android应用程序,一些函数是使用python进行的。但是,它计算密集,因此我首先考虑访问AWS云系统,我的所有计算工作都将在AWS上完成,一旦计算完成,它会将结果告诉Android应用程序。有人可以告诉我如何在AWS服务器上运行我的python代码,实际上,我的项目是关于面部识别,如果用户单击一个按钮,它将连接到云服务器,同时他/她点击另一个按钮,它会将测试图像上传到云服务器,计算算法全部在AWS上。
我建议你将你的Python代码打包在AWS Lambda函数中并通过REST API公开它。
AWS SAM框架和命令行将帮助您轻松设置该基础结构。
它会让你
sam init
)sam local
)sam package
)sam deploy
)甚至让你访问服务器端日志(sam logs
)
注意REST API的安全性,不要将其暴露给全世界,而只暴露给您的客户。有关详细信息,请参阅“Controlling access to your API”
虽然@ SebatienStomarcq的答案很好并且应该有效,但我想加上我的2美分并建议你使用S3 events代替。
如果您说单击按钮时图像将上传到云服务器,我必须假设您已经使用S3来存储这些图像。如果没有,我强烈建议你这样做。
一旦您的文件登陆S3,您就可以捕获其事件(这些事件是高度可配置的,这意味着您可以监听PUT,COPY,DELETE等事件)并无缝地向其发送一些其他AWS服务,例如SNS和Lambda , 例如。
考虑到这一点,您现在可以配置将由S3事件触发的Lambda来运行您的算法,甚至可以使用适合您的用例的AWS Rekognition。如果您想要同时触发许多功能,您也可以将S3事件发送到SNS主题,并让您的Lambda函数订阅此主题,从而使您可以开始并行处理和自动扩展。