csv - 谷歌发布的 csv 的限制是什么

标签 csv google-apps-script google-sheets google-drive-api quota

我有一个已发布的 google csv 工作表文件链接。我没有通过电子邮件将链接分享给任何人。刚刚发布为 csv 并使用以下 url 的链接。

https://docs.google.com/spreadsheets/d/e/<Sheet ID>/pub?gid=0&single=true&range=B2&output=csv

我的问题:

有多少并发用户可以同时请求发布的csv文件链接?

或者,是否有任何已发布的 csv 表限制?

我在谷歌上搜索了很多次,但没有找到确切的答案。如果您已经了解 google 发布的 csv 表限制,请回答。

非常感谢。

最佳答案

对于一个简单的 1 工作表(标签)文件,已发布的 csv 工作表的并发限制为 500。

测试:

您可以使用 UrlFetchApp.fetchAll() 进行测试,因为 it makes concurrent requests .

function getConcurrentLimit_(numOfSimultaneousReq, id = '[[[PUBLISHED ID]]]') {
  Utilities.sleep(5 * 1000);//sleep 5s before starting
  const url = `https://docs.google.com/spreadsheets/d/e/${id}/pub?gid=0&single=true&range=A1:B1&output=csv`,
    urls = [];
  ((i) => {
    while (--i) urls.push({ url, muteHttpExceptions: true });
  })(numOfSimultaneousReq);
  const res = UrlFetchApp.fetchAll(urls);
  const statusCodes = res.map((e) => e.getResponseCode());
  const totalFailures = statusCodes.filter((e) => e !== 200).length;
  const firstFailureAt = statusCodes.findIndex((c) => c !== 200);
  return { numOfSimultaneousReq, firstFailureAt, totalFailures };
}

function test166() {
  console.log(
    [100, 500, 600, 800, 1000]
      .flatMap((e) => Array(3).fill(e))//repeat each test thrice
      .map((e) => getConcurrentLimit_(e))
  );
}

结果:

[ { numOfSimultaneousReq: 100, firstFailureAt: -1, totalFailures: 0 },
  { numOfSimultaneousReq: 100, firstFailureAt: -1, totalFailures: 0 },
  { numOfSimultaneousReq: 100, firstFailureAt: -1, totalFailures: 0 },
  { numOfSimultaneousReq: 500, firstFailureAt: -1, totalFailures: 0 },
  { numOfSimultaneousReq: 500, firstFailureAt: -1, totalFailures: 0 },
  { numOfSimultaneousReq: 500, firstFailureAt: -1, totalFailures: 0 },
  { numOfSimultaneousReq: 600, firstFailureAt: 19, totalFailures: 68 },
  { numOfSimultaneousReq: 600, firstFailureAt: -1, totalFailures: 0 },
  { numOfSimultaneousReq: 600, firstFailureAt: 71, totalFailures: 78 },
  { numOfSimultaneousReq: 800, firstFailureAt: 9, totalFailures: 256 },
  { numOfSimultaneousReq: 800, firstFailureAt: 28, totalFailures: 99 },
  { numOfSimultaneousReq: 800, firstFailureAt: 43, totalFailures: 125 },
  { numOfSimultaneousReq: 1000, firstFailureAt: 0, totalFailures: 402 },
  { numOfSimultaneousReq: 1000, firstFailureAt: 17, totalFailures: 398 },
  { numOfSimultaneousReq: 1000, firstFailureAt: 4, totalFailures: 392 } ]

如您所见,失败从 600 个并发请求开始。

关于csv - 谷歌发布的 csv 的限制是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70349368/

相关文章:

javascript - 如何在 Google Apps 脚本中添加工作表函数?

python - 使用Python根据文件中的标题名称更改CSV数值

用于输出到 csv 的 java 库 - 将数据输出到 csv 格式需要处理哪些特殊情况

php - 在 opencart 中,当表中存在记录时,SELECT 查询给出空结果

javascript - 在工作表中,填充单元格后向特定收件人发送电子邮件

javascript - 通过谷歌脚本提交表单

google-sheets - 多个值的 Google 电子表格条件格式

python - 从 CSV 进行 Tensorflow 深度学习...梯度问题

google-apps-script - onEdit() 停止工作?

google-apps-script - 通过 ID 获取 Google Sheet?