在Java中获取Google存储桶的大小

时间:2019-12-10 10:30:52

标签: java google-cloud-storage bucket gsutil

有什么办法可以从java的Google云端中获取存储桶的大小。

我知道您可以这样获得它:

gsutil du -s gs://[BUCKET_NAME]/

是否有可能通过Java API获得存储桶的总大小?

1 个答案:

答案 0 :(得分:1)

没有使用Java API google-cloud-java获取存储桶大小的函数。

您可以遍历存储桶中的blob并使用blob.getSize()计算总大小,但这会非常慢。

根据官方文档,gsutil du对于大型水桶Getting bucket information可能会花费很长时间:

  

警告:gsutil du命令通过使对象成为对象来计算空间使用情况   列出请求,对于大型存储桶可能需要很长时间。如果   您存储桶中的对象数量是数十万或更多,请使用   而是使用Stackdriver

另一种解决方案是启用存储桶日志记录并从日志中检查存储桶的大小:

Setting up log delivery

Carefully calculating Google Cloud Storage Buckets size with Cloud Functions & Pub/Sub

在这里您可以找到相关的问题link