【Firebase】Firebase Storageとは? Firestoreのデータをバックアップする方法

2020年2月20日 | 広報・PR・イベント運営担当

Firebase のデータベースをバックアップする方法について、筆者が学習するために試してみたことをご紹介します。

Firebase には、Realtime Database と Cloud Firestore があります。

Realtime Database の方には、Firebase コンソールから使えるバックアップ機能があります。
日次バックアップや gzip 圧縮、30日ライフサイクルといった機能を持っています。

Cloud Firestore の方には、今のところそのような機能が用意されていません。
しかしながら、Cloud SDK の gcloud コマンドを使って、Firebase Storage にデータをコピーすることができます。
Cloud SDK をインストールし、下記のコマンドなどで準備を整えます。

 

$ gcloud init
$ gcloud config set project [project_id]

次に、下記のコマンドで、Firestore のデータを Firebase Storage にコピーします。

 

$ gcloud firestore export gs://bucket_name/folder_name

Firebase Storage のファイルを、ローカルにコピーするには下記のようにします。
local_backup_dir は予め作っておく必要があります。

 

$ gsutil cp -r gs://bucket_name/folder_name local_backup_dir

筆者の Windows 環境では、上記のコマンドを実行した際に下記のエラーが出ました。

 

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x83 in position 0: ordinal not in range(128)

Cloud SDK に含まれる Python に関するエラーのようです。
解決策を探ってみたのですが、どれも上手くいかなかったため、Google Cloud Shell 環境を試すことにしました。
GCP コンソールで Cloud Shell を開き、上記の gsutil cp コマンドを実行すると、今度は上手くいきました。
Cloud Shell にて、コピーしたフォルダを zip 圧縮します。

 

$ zip export.zip local_backup_dir

最後に、そのアーカイブファイルを、ローカルの PC にコピーします。

 

$ gcloud alpha cloud-shell scp cloudshell:/home/(usename)/export.zip localhost:.

cloudshell: の部分に Cloud Shell 環境のファイルパスを、localhost: の部分にローカルのパスを指定します。
フォルダをコピーしたい場合は –recurse パラメータが必要です。

 

いかがでしたか?

イー・エージェンシーでは、Google アナリティクス 360 やサポートをご契約のお客様を対象に、Google アナリティクス for Firebase の導入支援を行っております。

また、アプリとWebのクロスプラットフォーム分析ができるGoogle アナリティクス 4 プロパティ(GA4)の導入支援も行っております。

まずは下記よりお気軽にお問い合わせください。

Google アナリティクス for Firebase ・Google アナリティクス 4 プロパティ(GA4) の導入に関するお問い合わせはこちら

PICK UP

広報・PR・イベント運営担当

ライター

おもてなしを科学するイー・エージェンシーでは、クロスデバイス分析によるユーザー単位の分析やオンラインオフラインを横断した分析など次世代の分析をサポート。また分析データを元にしたABテスト支援から、EC領域での購買、行動データを活用したレコメンドシステムなどを提供。 お問い合わせはこちらにどうぞ。

お問い合わせ

サービスに関するご相談は
こちらよりお気軽にお問い合わせください。

e-Agencyの様々な情報をFacebookでお届けします!