こんにちは。もぐめっとです。
最近フードかぶった状態でしか写真をとってないため深刻な自分の写真素材不足です。上は膝怪我して完治してないけどつい飛びたくなって飛んでしまったの図です。
今回はあまりやらないであろうfirestoreのリストアする手順を説明します。
詳細は下記になります。
まっさらなプロジェクトを立ててそこに対してリストアできるか検証します。
前準備
新規firebaseプロジェクトを立ててfirestoreを有効化しておきます。
次にバックアップしているファイルをダウンロードします。
Cloud Storageを見に行きますが、、、
firebaseの管理画面からはいっぺんにダウンロードする方法がありません。
いっぺんにダウンロードするにはgsutilコマンドを用いる必要があるようです。
※gsutilのインストールは下記を参照
下記のように実行してダウンロードしましょう。(今回は2022-03-17T18:00:07_91656ディレクトリを対象とした。)
gsutil -m cp -r \
"gs://{cloud storageのバケット名}/2022-03-17T18:00:07_91656" \
.
次にバックアップファイルをリストア用のバケットに移動させます。
今回は別プロジェクトにインポートしようとしているため、リストア用のバケットを作成します。
cloud storageでバケットを作成します。
ロケーションタイプとロケーションを選択して続行。
ロケーションタイプは今回テスト用に一回しか使わないので最低のレイテンシでもいいとは思います。
バケットを作成したらバケットの詳細からフォルダをアップロードします。
ようやくこれで準備完了です。
リストア手順
Google Cloud Platform Console で Cloud Firestore の [インポート / エクスポート] ページに移動します。
先程作ったバケット内のリストアファイル(.overall_export_metadataファイル)を選択します。
すると、なんということでしょう~。あんなに空っぽだったfirestoreに
firestoreのルールはデフォルトのままなので自分で設定するようにしましょう。
まとめ
Google Cloud Consoleを駆使することでリストアをすることができました!
バックアップはとりあえずとってるけどリストアできるかどうかはわからないというところ結構多いんじゃないかと思います。
いざというときに困らないようにバックアップを取った後にリストアできるかどうかもテストをして障害に備えておきましょう!!
最後に、ワンナイト人狼オンラインというゲームを作ってます!よかったら遊んでね!
他にもCameconやOffchaといったサービスも作ってるのでよかったら使ってね!
また、チームビルディングや技術顧問、Firebaseの設計やアドバイスといったお話も受け付けてますので御用の方は弊社までお問い合わせください。