Firestoreのデータをガリガリ見ていきたいなと思っていたら、
別のプロジェクトに移行できそうだったので、いろいろ調べたときの備忘録。
分析目的だけど、BigQueryは1000カラム制約で使えなかったので代替案...
別プロジェクトなら無料枠でいろいろできそう。
Firestoreのエクスポート/インポートについて、いくつか注意。
さらに、
エクスポート / インポート オペレーションのコストは、費用制限の対象にはなりません。
オペレーションが完了するまで、エクスポート/インポートでGCPの予算アラートはトリガーされません。
とのことなので、ご利用は計画的に..
$ brew cask install google-cloud-sdk
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.bash.inc'
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.bash.inc'
# 初期設定の実行
$ gcloud init
# このあと、ログイン画面が出てきて認証する
# コンポーネントのアップデート
$ gcloud components update
# 現在のプロジェクトの確認
$ gcloud info | grep project
firestore export
を使うと、データのバックアップが作成できるらしい。
バックアップデータはGCPのStorage上に作成されるので、
あらかじめ、Storageを作成しておく必要がある。
# 現在のプロジェクトの確認
$ gcloud info | grep project
# 全体のエクスポート
$ gcloud beta firestore export gs://[BUCKET_NAME]
# コレクションを指定して、一部だけをエクスポート
$ gcloud beta firestore export gs://[BUCKET_NAME] --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2]
# 実行状況の確認
$ gcloud beta firestore operations list
データ量が多いと、コマンドが途中で終了するので、
完了したかどうかはoperations list
を実行して確認する必要がある。
参考: データのエクスポートとインポート | Firebase
# プロジェクトの設定
$ gcloud config set project [PROJECT]
# 現在の設定情報の確認
$ gcloud info
参考: SDK 構成の管理 | Cloud SDK のドキュメント | Google Cloud
# アカウントの設定
$ gcloud config set account [ACCOUNT]
# 設定したアカウントの認証
$ gcloud auth login
# 登録しているアカウントの一覧を確認
$ gcloud auth list
# プロジェクトの設定
$ gcloud config set project [PROJECT]
# 現在の設定情報の確認
$ gcloud info
参考: Cloud SDK ツールの承認 | Cloud SDK のドキュメント | Google Cloud
全体の流れはこんな感じ。
# バックアップしたいプロジェクトに設定
$ gcloud config set project [PROJECT]
# 全体のエクスポート
$ gcloud beta firestore export gs://[BUCKET_NAME]
# 別のプロジェクトにプロジェクトに変更
$ gcloud config set project [PROJECT]
# バックアップファイルのインポート
$ gcloud beta firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/
注意点
参考: データのエクスポートとインポート | Firebase
有料のみではあるけど、
なんかにも使えそう。
分析はBigQueryを使えるならそのほうがいいかも?
積読用の読書管理アプリ 『積読ハウマッチ』をリリースしました!
積読ハウマッチは、Nuxt.js+Firebaseで開発してます!
もしよかったら、遊んでみてくださいヽ(=´▽`=)ノ
要望・感想・アドバイスなどあれば、
公式アカウント(@MemoryLoverz)や開発者(@kira_puka)まで
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント