首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google函数和AWS的超时问题

问Google函数和AWS的超时问题
EN

Stack Overflow用户
提问于 2019-08-27 14:28:22
回答 5查看 1.2K关注 0票数 8

我们正在使用NodeJS处理长的文字记录,使用Google语音到文本API。许多功能需要10分钟以上的时间来处理。处理/音频时间的通常比率约为50%。因此,一个20分钟的FLAC音频文件大约需要10分钟来处理(因此,Google功能失败,最大时间为540秒或9分钟),而在AWS Lambda上超过29分钟的任何文件都会失败。

在每个平台上,哪种服务可以在20/30分钟内处理音频文件,这也允许发送和调用应用程序的事件数据?我可以使用云功能和另一个平台来处理记录吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-08-29 18:39:20

我不知道其他云提供商比AWS,所以我将回答基于AWS。除了运行时间大于15分钟外,我总是尽可能使用AWS Lambda。在本例中,我使用AWS批 (AWS批处理-在AWS上运行批处理作业)。

您也可以使用AWS法门,但是您必须配置集群和停靠映像。

编辑1:

批处理可以通过发送事件,就像我假设的那样,您会发送到Lambda吗?

我从未通过API网关直接触发过批作业(我不知道这是否可能)。我一直使用always来触发Lambda和Lambda触发器批(请查看这个工作流程,以获得更好的想法)。

此外,还可以使用AWS CloudWatch事件触发AWS批处理作业。例如,如果您在抄本之前将一个文件上传到S3,您可能会通过S3事件触发AWS批处理作业(请查看此循序渐进 )。

将压缩的Lambda函数转换为AWS Fargate图像有多简单?

如果您了解Docker、AWS ECR和ECS集群,那就不难了。

  1. 首先,您需要用源代码创建一个Docker映像。请看看这个循序渐进。基本上,您将解压缩代码,复制到docker映像,运行npm install并在Dockerfile中运行一个命令。
  2. 在此之后,您可以创建一个AWS ECR,在其中您将上传您的Docker图像。
  3. 创建AWS ECS集群
  4. 创建一个AWS Fargate 任务
  5. 最后,通过Lambda运行任务。

如果您没有使用Docker和AWS Fargate的经验,AWS批处理更容易实现。

票数 4
EN

Stack Overflow用户

发布于 2019-08-27 15:53:17

您可以看看用于长期运行任务的Cloud /Sub体系结构和云语音对文本作为谷歌解决方案的一部分。

在第一个链接中,解释了如何使用Cloud /Sub作为队列系统来处理可能长期运行的任务的体系结构和工作流(例如音频文件的自动转录)。

谈到云语音到文本,可以轻松地将Google语音识别技术集成到开发人员应用程序中.发送音频并从语音到文本API服务接收文本转录.

票数 2
EN

Stack Overflow用户

发布于 2019-09-04 10:38:28

使用异步请求而不是同步请求。您当前的工作流程包括请求语音到文本任务,然后阻塞直到API响应。除了您已经描述的超时问题之外,还有一个额外的成本问题:您最终要支付Lambda调用时间,不管语音到文本API处理您的请求花费多长时间,也就是说,您要为Lambda支付基本上什么都不做的费用。

在异步工作流中,您发送请求,API立即使用操作标识符进行响应。Lambda函数可以在此时终止,而语音到文本API则在后台处理您的任务。现在,您可以使用操作标识符轮询任务完成(例如,使用计划云函数 ),或者在使用AWS时,使用SnsTopicArn或OutputS3BucketName属性在任务完成时触发另一个Lambda。

有关更多信息,请查看异步请求上的AWS和GCP API文档。此外,AWS还提供了更多关于异步音频处理这里和这里的深度文档.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57676907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档