gpt4 book ai didi

google-cloud-storage - Google Cloud Storage 中的速率限制

转载 作者:行者123 更新时间:2023-12-01 05:22:19 26 4
gpt4 key购买 nike

在每一分钟结束时,我的代码总共会上传 20 到 40 个文件(从多台机器上并行上传大约 5 个文件,直到全部上传完毕)到 Google Cloud Storage。我经常收到 429 - Too Many Errors,如下所示:

java.io.IOException: Error inserting: bucket: mybucket, object: work/foo/hour/out/2015/08/21/1440191400003-e7ba2b0c-b71b-460a-9095-74f37661ae83/2015-08-21T20-00-00Z/
at com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl.wrapException(GoogleCloudStorageImpl.java:1583)
at com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl$3.run(GoogleCloudStorageImpl.java:474)
... 3 more
Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 429 Too Many Requests
{
"code" : 429,
"errors" : [ {
"domain" : "usageLimits",
"message" : "The total number of changes to the object mybucket/work/foo/hour/out/2015/08/21/1440191400003-e7ba2b0c-b71b-460a-9095-74f37661ae83/2015-08-21T20-00-00Z/ exceeds the rate limit. Please reduce the rate of create, update, and delete requests.",
"reason" : "rateLimitExceeded"
} ],
"message" : "The total number of changes to the object mybucket/work/foo/hour/out/2015/08/21/1440191400003-e7ba2b0c-b71b-460a-9095-74f37661ae83/2015-08-21T20-00-00Z/ exceeds the rate limit. Please reduce the rate of create, update, and delete requests."
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:432)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
at com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl$3.run(GoogleCloudStorageImpl.java:471)
... 3 more

我有一些重试逻辑,这有点帮助,但即使经过一些指数退避和最多 3 次重试,我仍然经常遇到错误。

奇怪的是,当我转到 Google Developers Console -> APIs & auth -> APIs -> Cloud Storage API -> Quotas 时,我看到Per-user limit 102,406.11 requests/second/user。当我查看“使用情况”选项卡时,它没有显示任何使用情况。

我错过了什么?将文件上传到 GCS 时如何停止速率限制?为什么我的配额如此之高,而我的使用率报告为 0?

最佳答案

从您对多台机器同时采取行动的描述来看,我怀疑您所有的机器都试图在同一时刻写入完全相同的对象名称。 GCS 限制每秒对任何一个对象的写入次数(每秒 1 次)。

因为它看起来像你的对象名称以斜线结尾,就像它们是一个目录(work/foo/hour/out/2015/08/21/1440191400003-e7ba2b0c-b71b-460a- 9095-74f37661ae83/2015-08-21T20-00-00Z/),是否有可能你打算用一些唯一的值或机器名称或其他东西结束它们,但没有留下那一点?

关于google-cloud-storage - Google Cloud Storage 中的速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32149622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com