【GCP】Cloud Storageのディレクトリをローカルにコピーする超簡単な方法【開発備忘録】

GCP 開発備忘録

導入

Cloud StorageのファイルをFirebaseやGCPのGUIからダウンロードしようとすると、アクセストークンをファイル単位で発行して、一個一個ダウンロードする必要が生じます。

私は、Cloud Storageに格納している数千件のファイルをディレクトリごとダウンロードしたかったので、GUIから行なうのはあまりにも大変です。

そこで、ディレクトリ単位でダウンロード(正確にはコピー)できる方法を調べて実践してみました。
これがあまりにも簡単で楽ちんだったので、備忘録として記事を書きます。

gcloud CLIでコマンド一発

超簡単な方法とは、gcloud CLIでコマンドを打つことです。

gcloud CLIとは、ローカルからGCPの各サービスをコマンドで操作できる便利なCLIです。
(導入方法は割愛。なぜなら、だいぶ前に入れたのでやり方忘れました。調べれば簡単にできた記憶が……!)

とにもかくにも、Cloud Storageからローカルにコピーするコマンドはこれです!

$ gcloud storage cp -r gs://[パケット名]/[ディレクトリまたはファイルのパス] [コピー先のローカルのパス]

gs://[パケット名]/[ディレクトリまたはファイルのパス]は、firebaseコンソールから簡単にコピーすることができます。ディレクトリパスもファイルパスもどちらも簡単にコピーできます。
たとえば、パケット名が「example.firebasestorage.app」で、取得したいディレクトリがルート直下の「data」ディレクトリなら、gs://example.firebasestorage.app/dataとなります。

[コピー先のローカルのパス]については、特に説明する必要も無いかと思います。保存したい場所を入れましょう。