gpt4 book ai didi

google-cloud-storage - 将 gsutil 组合对象的组件计数设置为 0(rateLimitExceeded 错误)

转载 作者:行者123 更新时间:2023-12-01 23:23:21 25 4
gpt4 key购买 nike

复制一些日志文件时(通过 gsutil compose 命令创建):

gsutil -m cp -R gs://mybucket/PROD/ gs://mybucket/TEST/ 

我们遇到了很多这样的错误:

"errors":[  
{
"domain":"usageLimits",
"reason":"rateLimitExceeded",
"message":"The total number of compose requests for this bucket's project exceeds the rate limit. Please reduce the rate of compose requests."
}
],
"code":429,

对这些对象执行 gsutil stat,我可以看到它们的 Component-Count 是 972 等等。

我们试图走捷径:

gsutil setmeta -h "Component-Count:0" gs://mybucket/PROD/composite.log

但是我们遇到了:

CommandException: Invalid or disallowed header (component-count).
Only these fields (plus x-goog-meta-* fields) can be set or unset:

实际上,复制过程已完全执行,所以看到所有这些错误只是很烦人。

有谁知道如何将组件计数设置为 0?

最佳答案

您可以安全地忽略这些错误。正如您所注意到的,gsutil cp 命令完成了它的工作。

如果你想摆脱这些错误,你可能想尝试这个解决方法来将 Component-Count 设置为 0复合对象的 header ,基本上是“取消组合”对象。为此,您可以将其转储到网络中,然后再返回到 Cloud Storage。

一个简单的方法是使用 "daisy-chain"来自 cp 命令的模式(-D 选项):

gsutil cp -D gs://mybucket/PROD/composite.log gs://mybucket/PROD/notcompositeanymore.log

它甚至可以与 gsutil -m(多线程)和 cp -R(递归)选项配合使用!

如果您关心提高速度和降低此过程的成本,我建议您在 Compute Engine VM 中执行此操作,最好是在靠近您的存储桶的区域中。

编码愉快!

关于google-cloud-storage - 将 gsutil 组合对象的组件计数设置为 0(rateLimitExceeded 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26120375/

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