2012-07-21 42 views
0

我已经创建了一个存储桶,用于为我的所有用户存储数据。该目录的结构如下:谷歌云存储 - 确定每个用户的目录大小

- > BUCKET_NAME/USER_IDENTIFIER/CREATION_DATE/OBJET_ID

==>是否有可能gsutil所或通过API来获取整体尺寸为每个用户?

例如,如果用户X是由“USER_1”标识,我想获得下BUCKET_NAME/USER_1

所有对象的大小将是巨大的,如果有人有一个想法如何实现这一点?使用标准的文件名,这将是相当容易的,但我找不到一个简单的方法来实现这与谷歌云存储。

感谢,

雨果

回答

1

没有为一个API,你将需要保持每个用户的簿记你的自我。
您可以请求某个键下的所有文件并总计文件总大小,但此过程非常缓慢。

0

如果用户名是结构规则,你可以写一个这样的脚本:

for user_id in {0..100}; do; 
    echo USER ${user_id}: $(gsutil ls -l gs://BUCKET_NAME/$user_id/**) 
done 

这将打印每个用户对象和总的数据量的数量(假设你的用户ID是简单的数值)。如Shay指出的那样,如果每个用户都有大量的对象,那么这个过程可能非常缓慢。