AWS试图使用Lambda

时间:2018-03-25 00:42:22

标签: amazon-web-services amazon-ec2 aws-lambda

对不起这样的问题..但我在这里有点迷失....

我有一个应用程序,它包含一个Angular4作为前端,Java应用程序作为后端。 但是我计划在看到亚马逊的视频后使用AWS Lambda。我们很感兴趣。

问题在于我不知道如何从AWS中获得最佳效果。

我的Java应用程序处理一些图像非常耗时(需要几秒钟)。

但我不确定我是否可以在Lambda中部署我的所有应用程序,或者是否想要使用EC2服务器,然后使用lambda中的图像处理的特定任务。有人可以在这里说清楚吗?

此外,前端应用程序可以部署在lambda中,或者lambda仅用于特定任务?

编辑: 申请流程将是: 角度应用程序中的用户上传图像,图像以Java形式传送到后端服务器并存储在(可能)AWS桶中。然后带有imagemagick的Java应用程序处理图像并将结果存储在(也许) )另一个桶。

所以问题是我什么时候需要使用Lambda?只是为了转换图像或者是否有完整的后端(可能是前端)应用程序?<

我问,因为我找不到足够的信息...

1 个答案:

答案 0 :(得分:2)

首先,您可以将Angular前端部署到Amazon S3。您还可以使用AWS CloudFront通过您的域的Amazon Certificate Manager从Amazon添加自定义域和免费SSL证书。有关详细信息,请参阅文章Deploying Angular/React Apps in AWS

如果您不需要在前端立即显示tge图像处理结果

对于图像处理后端,您可以使用AWS API Gateway和Lambda以及S3。对于此推荐流程,您可以使用API​​后端获取Lambda中的签名URL或AWS STS(或使用Cognito联合身份)以获得对Amazon S3 Bucket的临时访问,以将图像从Angular App直接上载到S3。有关详细信息,请参阅文章Upload files Securely to AWS S3 Directly from Browser

注意:AWS最近发布了一个名为AWS Amplify的JavaScript库,以简化上述任务的实施。

将图像上传到S3后,您可以设置事件驱动的工作流,方法是使用Amazon S3触发器调用Lambda函数执行图像处理,并将过程图像保存回S3(如果需要存储结果)。 / p>

如果您需要立即显示结果

仍然使用tge之前的方法从前端上传到S3,然后调用API网关Lambda函数,在S3中传递文件路径来处理图像。

要了解使用AWS无服务器技术连接前端和后端的详细信息,请参阅文章Full Stack Serverless Web Apps with AWS

作为旁注,您应该能够在不使用AWS EC2的情况下使用AWS Lambda实现所需的功能。