我在 Python 中的 Lambda 上创建了一个脚本,主要使用库 pygsheets,它在调用时操纵 Google 表格。项目已启动并正在运行,但已注意到一个奇怪的事件。在本地,我的项目运行速度很快(约 15 秒),而在云上它有时需要更长的时间(平均约 3 分钟)。我发现这与 pygsheets 等待有关,因为 429 HTTP 错误从多次访问 Google Sheets API。一些睡眠功能的实现阻碍了这一点。
这里更值得关注的是,当此脚本在本地运行时,它会从 Google 表格中读取 ~2x/tab + 2 次以连接到 Google 表格本身。因此,例如,在具有 5 个选项卡的工作表中,它将向 Google API 请求大约 12 次。但是,当我在 Lambda 上使用相同的脚本时,API 几乎是 10 倍,在某一时刻在一秒钟内飙升到 120 个请求。
关于在 Lambda 上检查什么可能导致这种情况的任何建议?有趣的是,将信息写入工作表的项目在所需的确切次数上保持稳定。我审查了我的项目的 python 代码/类以存储连接以供以后使用,而不是在需要时不断地 ping 工作表。目前,我的函数运行时间缩短到大约 30 秒,并在需要时使用睡眠函数,但我担心这个大量请求的问题会在以后在更大的工作表上实现时给我带来问题。
我想知道我可以在 AWS/Lambda 方面检查以解决此问题的途径/选项/设置等吗?或者这是使用云服务的先天问题?
谢谢!
关于此图表:大约 5:05 的少量请求是本地运行,而其他两个峰值出现在 Lambda 上。