【GCP】Cloud Storageのディレクトリをローカルにコピーする超簡単な方法【開発備忘録】
導入
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となります。
[コピー先のローカルのパス]については、特に説明する必要も無いかと思います。保存したい場所を入れましょう。