【发布时间】:2020-04-22 08:28:33
【问题描述】:
底线:Cloud Run 和 Cloud Functions 似乎对 Google Drive API 端点的带宽非常有限。寻求有关如何解决的建议,或者,理想情况下,@Google 支持解决潜在问题,因为我不会是唯一类似的用例。
背景:我认为是一个非常简单的用例。我们正在尝试自动化私有域 Google Drive 用户获取现有录音并将其发送到 Speech API 以临时生成脚本,并将脚本转储回同一个 Drive 文件夹,并通过电子邮件通知提交者.容易,对吧?唯一困难的部分是 Speech API 只能从 Google Cloud Storage 读取,因此“困难部分”应该是移动文件。 “硬”并没有真正涵盖它......
问题:使用 nodejs 编写并使用 Drive 和 GCS 官方模块的最新版本,文件复制变得非常缓慢。当我们分析问题时,很明显 GCS 的速度是可以接受的(主要是 -- 老实说,它没有得到稳健的测试,但在有限的测试中足够快);真正的问题是 Drive 入口造成的。即使使用样本Google Drive Download app from the repo 也很慢。不过,考虑到问题可能出在我的代码或库上,我从 Cloud Console 运行了同样的东西,而且速度快如闪电。与 GCE 相同。本地也一样。但在 Cloud Functions 或 Cloud Run 中,它就像糖蜜。
请求:
- 社区中是否有人遇到此或类似问题并找到了解决方法?
- @Google -- 无论潜在的性能瓶颈是什么,您都可以修复它吗?这是一个典型的“无服务器”用例,很难相信从事此工作时间最长的人无法破解它。
提前谢谢大家!
更新于 19 年 1 月 4 日 -- 在经过更稳健的测试后,GCS 也很慢。图像库也没有区别(尝试了 nodejs10-alpine、nodejs12-slim、nodejs12-alpine 没有影响),内存限制同样不会影响本地或 GCP 上的结果(256m 在本地工作正常;2Gi 在 GCP 中失败)。
【问题讨论】:
标签: google-cloud-platform google-drive-api serverless google-cloud-run