我们正在使用NodeJS处理长的文字记录,使用Google语音到文本API。许多功能需要10分钟以上的时间来处理。处理/音频时间的通常比率约为50%。因此,一个20分钟的FLAC音频文件大约需要10分钟来处理(因此,Google功能失败,最大时间为540秒或9分钟),而在AWS Lambda上超过29分钟的任何文件都会失败。
在每个平台上,哪种服务可以在20/30分钟内处理音频文件,这也允许发送和调用应用程序的事件数据?我可以使用云功能和另一个平台来处理记录吗?
发布于 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集群,那就不难了。
npm install并在Dockerfile中运行一个命令。如果您没有使用Docker和AWS Fargate的经验,AWS批处理更容易实现。
发布于 2019-08-27 15:53:17
您可以看看用于长期运行任务的Cloud /Sub体系结构和云语音对文本作为谷歌解决方案的一部分。
在第一个链接中,解释了如何使用Cloud /Sub作为队列系统来处理可能长期运行的任务的体系结构和工作流(例如音频文件的自动转录)。
谈到云语音到文本,可以轻松地将Google语音识别技术集成到开发人员应用程序中.发送音频并从语音到文本API服务接收文本转录.
发布于 2019-09-04 10:38:28
使用异步请求而不是同步请求。您当前的工作流程包括请求语音到文本任务,然后阻塞直到API响应。除了您已经描述的超时问题之外,还有一个额外的成本问题:您最终要支付Lambda调用时间,不管语音到文本API处理您的请求花费多长时间,也就是说,您要为Lambda支付基本上什么都不做的费用。
在异步工作流中,您发送请求,API立即使用操作标识符进行响应。Lambda函数可以在此时终止,而语音到文本API则在后台处理您的任务。现在,您可以使用操作标识符轮询任务完成(例如,使用计划云函数 ),或者在使用AWS时,使用SnsTopicArn或OutputS3BucketName属性在任务完成时触发另一个Lambda。
有关更多信息,请查看异步请求上的AWS和GCP API文档。此外,AWS还提供了更多关于异步音频处理这里和这里的深度文档.
https://stackoverflow.com/questions/57676907
复制相似问题