我目前正在这样做,但它非常慢,因为我在存储桶中有几 TB 的数据:
gsutil du -sh gs://my-bucket-1/
对于子文件夹也是如此:
gsutil du -sh gs://my-bucket-1/folder
是否有可能以某种方式在其他地方或以其他更快的方式获得完整存储桶(或子文件夹)的总大小?
我目前正在这样做,但它非常慢,因为我在存储桶中有几 TB 的数据:
gsutil du -sh gs://my-bucket-1/
对于子文件夹也是如此:
gsutil du -sh gs://my-bucket-1/folder
是否有可能以某种方式在其他地方或以其他更快的方式获得完整存储桶(或子文件夹)的总大小?
抱歉不行。如果您现在需要知道存储桶的大小,没有比您正在做的更快的方法了。
如果您需要定期检查这一点,您可以启用存储桶日志记录。Google Cloud Storage 将生成每日存储日志,您可以使用它来检查存储桶的大小。如果这有用,您可以在此处阅读更多信息:https ://cloud.google.com/storage/docs/accesslogs#delivery
如果您通过启用存储桶日志记录(根据 Brandon 的建议)获得的每日存储日志对您不起作用,那么您可以做的一件事来加快速度,那就是对 du 请求进行分片。例如,您可以执行以下操作:
gsutil du -s gs://my-bucket-1/a* > a.size &
gsutil du -s gs://my-bucket-1/b* > b.size &
...
gsutil du -s gs://my-bucket-1/z* > z.size &
wait
awk '{sum+=$1} END {print sum}' *.size
(假设您的子文件夹以英文字母开头;如果不是;您需要调整运行上述命令的方式)。
对我来说,以下命令有帮助:
gsutil ls -l gs://{bucket_name}
然后在列出所有文件后给出如下输出:
TOTAL: 6442 objects, 143992287936 bytes (134.1 GiB)