gpt4 book ai didi

google-cloud-storage - Google Cloud Storage 中元数据值的长度有限制吗?

转载 作者:行者123 更新时间:2023-12-02 19:42:53 25 4
gpt4 key购买 nike

将文件上传到 Google Cloud Storage 时,有一个自定义数据字段元数据

Google's example相当短:

var metadata = {
contentType: 'application/x-font-ttf',
metadata: {
my: 'custom',
properties: 'go here'
}
};

file.setMetadata(metadata, function(err, apiResponse) {});

GCS 允许的元数据对象是否有最大大小,我是否希望存储 tar 和 zip 文件的 list ,还是几百 KB?

最佳答案

使用以下命令上传GCS中的集合元数据:

$ echo '{"metadata": {"large": "' > body ; tr -dC '[:print:]' < /dev/urandom | tr -d '\\"' | head -c SIZE_OF_METADATA_IN_BYTES >> body ;  echo '"}}' >> body; curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -X PATCH -H "Content-type: application/json" -d @body -o return_body https://www.googleapis.com/storage/v1/b/manifest-geode-357/o/empty

我发现在 2097KB header 之上,服务返回“HTTP 413 请求太大”并且未设置元数据。低于该水平则按预期设置。如果我使用更可压缩的输入(例如 yes 的输出),我可以获得更多数据,但截止值是相同的内容长度值(这是压缩后的)。由于 2097KB == 2MiB 几乎完全一样,我预计真正的限制是整个 HTTP 请求必须适合 2MiB。

<小时/>

但是布兰登的评论是正确的:出于多种原因,这不是一个好主意:

  1. 这将导致您消耗更多带宽(以及相关的性能和成本损失)
  2. 您不会节省任何存储费用(因为元数据仍需付费)。
  3. 它依赖于未记录的行为,Google 可能会更改这些行为,恕不另行通知。
  4. 与真实对象数据不同,上传时没有可恢复行为,因此错误会给您带来更严重的影响。
  5. 上传过程中没有校验和来验证完整性。
  6. 许多客户端库可能会将元数据存储在内存中而不是磁盘上或保留多个副本,因此您更有可能在应用中看到内存压力。

只需将 list 存储在单独的对象中即可解决所有这些问题。您可以将 list 的位置存储在元数据中,并获得这两个选项的好处。

关于google-cloud-storage - Google Cloud Storage 中元数据值的长度有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43222150/

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