gpt4 book ai didi

google-cloud-storage - 不能将通配符用于存储桶名称的 gsutil for Google Cloud Storage?

转载 作者:行者123 更新时间:2023-12-02 04:14:24 26 4
gpt4 key购买 nike

问题:可以在 gsutil 的 GCS 存储桶名称中使用通配符吗?

我想使用跨存储桶拆分的通配符在 GCS 中抓取多个文件。但是,在使用 gsutil 的存储桶名称中使用通配符时,我一直遇到错误。我正在使用这样的通配符:

gsutil ls gs://myBucket-abcd-*/log/data_*

我想匹配所有这些文件名(存储桶名称和对象名称的变体):

gs://myBucket-abcd-1234/log/data_foo.csv
gs://myBucket-abcd-1234/log/data_bar.csv
gs://myBucket-abcd-5678/log/data_foo.csv
gs://myBucket-abcd-5678/log/data_bar.csv

Documentation on Bucket Wildcards告诉我我应该能够在存储桶名称和对象名称中使用通配符,但上面的代码示例总是出现“BadRequestException:400 无效参数。”

当我不使用通配符或仅在对象名称中使用通配符时,gsutil 可以正常工作。但是向存储桶名称添加通配符会导致错误。是否有使通配符在存储桶名称中起作用的解决方法,或者我是否误解了链接的文档?

最佳答案

发现在这种情况下无法使用存储桶通配符是按预期工作的,这是由于权限设置不同所致。可以在存储桶和项目级别设置 Google Cloud Storage 权限。

虽然在这种情况下使用的访问 token 可以访问每个单独的存储桶,但它没有读者/编辑者/所有者访问顶级项目(在系统的许多用户之间共享)。无法访问项目,不能在存储桶上使用通配符。

这可以通过让项目所有者将用户添加为项目的读者/编辑者/所有者来解决。

在这种情况下,出于安全原因,我们无法授予单个 token 访问项目中所有存储桶的权限,但这有助于理解为什么通配符不起作用。感谢所有人的投入,尤其是 Travis 的联系。

关于google-cloud-storage - 不能将通配符用于存储桶名称的 gsutil for Google Cloud Storage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34625352/

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