Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 无服务器环境中的异步任务_Angular_Amazon Web Services_Aws Lambda - Fatal编程技术网

Angular 无服务器环境中的异步任务

Angular 无服务器环境中的异步任务,angular,amazon-web-services,aws-lambda,Angular,Amazon Web Services,Aws Lambda,我目前正在从事一个Angular项目,在该项目中,我们的用户将通过API网关和lambda函数将图片上传到我们的后端。我们的后端(例如EC2实例)将转换图片,并将其保存在S3存储桶中,以便向用户显示。此操作可能需要30秒 我想知道,让前端等待后端完成操作并“立即”向最终用户展示的“最先进的”无服务器方式是什么。本质上,我如何“订阅”并等待服务器通过API网关和lambda函数完成操作 我曾考虑过以下选项,但在这种情况下似乎没有使用: 1) 让前端调用定期(例如每秒)通过lambda函数(即:GE

我目前正在从事一个Angular项目,在该项目中,我们的用户将通过API网关和lambda函数将图片上传到我们的后端。我们的后端(例如EC2实例)将转换图片,并将其保存在S3存储桶中,以便向用户显示。此操作可能需要30秒

我想知道,让前端等待后端完成操作并“立即”向最终用户展示的“最先进的”无服务器方式是什么。本质上,我如何“订阅”并等待服务器通过API网关和lambda函数完成操作

我曾考虑过以下选项,但在这种情况下似乎没有使用:

1) 让前端调用定期(例如每秒)通过lambda函数(即:GET/GET picture/{id})检查S3存储桶中特定图片id的API,并等待接收到200并忽略404响应

2) 让后端将消息“完成id{id}”推送到SQS队列。然后,前端将定期(例如,每秒)拉取SQS队列(通过lambda函数,该函数只提取适当的信息),并检查拉取的消息是否包含相关ID。同样,我不确定这会有多大的可伸缩性

3) 使用“推送式”服务(如SNS)并等待服务器推送消息,但我不确定这是否可行,因为找到的资源很少

4) 我读过关于“异步”lambda调用的文章,但我不确定这将如何工作,服务器如何“暂停”lambda函数,这意味着我不会为此付费。这是一个解决方案吗

有没有更好的方法让网站“等待”直到服务器“通知”它已完成处理?从这个意义上说,我主要考虑的是那些我们将上传个人资料图片(LinkedIn)的网站,在加载(当然也做了大量处理)之后,网站会显示格式化的个人资料图片

任何相关的资源或提示都将不胜感激,即使不是很详细

注:我知道通过Angular“订阅”并等待服务器响应的可能性,但我不确定“订阅”lambda函数(通过API网关)如何阻止它运行太长时间(我希望避免“未优化”的计费)

非常感谢您,如果此问题重复,我深表歉意。

我发现这篇文章很有用:我发现这篇文章很有用: