私は現在これを行っていますが、バケットに数テラバイトのデータがあるため、非常に遅くなります。
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の提案による)が機能しない場合、処理を高速化するためにできる1つのことは、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
(サブフォルダーの名前は英語のアルファベットの文字で始まると仮定します。そうでない場合は、上記のコマンドの実行方法を調整する必要があります)。
CLIを使用すると、頻繁にタイムアウトになることがわかりました。しかし、それは私がコールドラインストレージを検討していたときのことです。
GUIソリューションの場合。見てください Cloudberry Explorer