![查找 Google Cloud Storage 存储桶中最后一个(按字母顺序排序)“目录”的名称最便宜的方法是什么?](https://linux22.com/image/783945/%E6%9F%A5%E6%89%BE%20Google%20Cloud%20Storage%20%E5%AD%98%E5%82%A8%E6%A1%B6%E4%B8%AD%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%EF%BC%88%E6%8C%89%E5%AD%97%E6%AF%8D%E9%A1%BA%E5%BA%8F%E6%8E%92%E5%BA%8F%EF%BC%89%E2%80%9C%E7%9B%AE%E5%BD%95%E2%80%9D%E7%9A%84%E5%90%8D%E7%A7%B0%E6%9C%80%E4%BE%BF%E5%AE%9C%E7%9A%84%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
目前我正在做的事情:
gsutil ls -l gs://myproject | sort | tail -n 1
大约需要 10-15 秒,这没问题,但我担心此操作的成本是多少?如果它影响成本,则有 1000 万个对象,位于 1000 个顶级“目录”中。而且我使用的是存档存储类。
我不知道这是免费/便宜/昂贵,以及是否有更好的方法?
https://cloud.google.com/storage/pricing
此链接似乎表明这是一项 A 类操作(大概ls
被归类为storage.objects.list
)。但我不清楚该成本是否每个对象或按列表收费。包含 10,000,000 个文件的列表与包含一个文件的列表收费相同吗?还是收费高出 10,000,000 倍?我同意后者听起来很荒谬,但我觉得我应该检查一下!
答案1
定价每个操作,而不是每个对象。根据您链接的定价文档
(...) 每个请求都被视为一个操作,无论作为请求的一部分发送或接收的内容是什么。
考虑到这一点,从支付的金钱的角度来看,没有更好的解决方案,因为您总是必须至少提出一次请求来列出您的文件,这就是您现在的状况。