如何通过Android应用程序在AWS服务器上运行python代码

问题描述 投票:0回答:2

我现在关于Python和AWS,我正在做我的一个项目,它要求我使用kivy开发android应用程序,一些函数是使用python进行的。但是,它计算密集,因此我首先考虑访问AWS云系统,我的所有计算工作都将在AWS上完成,一旦计算完成,它会将结果告诉Android应用程序。有人可以告诉我如何在AWS服务器上运行我的python代码,实际上,我的项目是关于面部识别,如果用户单击一个按钮,它将连接到云服务器,同时他/她点击另一个按钮,它会将测试图像上传到云服务器,计算算法全部在AWS上。

python amazon-web-services server kivy face-recognition
2个回答
0
投票

我建议你将你的Python代码打包在AWS Lambda函数中并通过REST API公开它。

AWS SAM框架和命令行将帮助您轻松设置该基础结构。

https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-quick-start.html

它会让你

  • 支撑你的初始项目(sam init
  • 在本地测试你的代码(sam local
  • 打包您的应用程序以进行部署(sam package
  • 将您的应用部署到云端(sam deploy

甚至让你访问服务器端日志(sam logs

注意REST API的安全性,不要将其暴露给全世界,而只暴露给您的客户。有关详细信息,请参阅“Controlling access to your API


0
投票

虽然@ SebatienStomarcq的答案很好并且应该有效,但我想加上我的2美分并建议你使用S3 events代替。

如果您说单击按钮时图像将上传到云服务器,我必须假设您已经使用S3来存储这些图像。如果没有,我强烈建议你这样做。

一旦您的文件登陆S3,您就可以捕获其事件(这些事件是高度可配置的,这意味着您可以监听PUT,COPY,DELETE等事件)并无缝地向其发送一些其他AWS服务,例如SNS和Lambda , 例如。

考虑到这一点,您现在可以配置将由S3事件触发的Lambda来运行您的算法,甚至可以使用适合您的用例的AWS Rekognition。如果您想要同时触发许多功能,您也可以将S3事件发送到SNS主题,并让您的Lambda函数订阅此主题,从而使您可以开始并行处理和自动扩展。

© www.soinside.com 2019 - 2024. All rights reserved.