🕌

firestoreを別のプロジェクトにコピーする方法

2023/11/07に公開

プロジェクトAのデータをプロジェクトBにコピーする全体的な流れ

プロジェクトAのfirestore → プロジェクトAのバケット → プロジェクトBのバケット → プロジェクトBのfirestore

各プロジェクトにバケットが無ければ、作成する。

  • 両プロジェクトのロケーションを同じにする必要がある

1. 以下のURLからプロジェクトAのバケットにデータをexportする。

[https://console.cloud.google.com/firestore/databases/-default-/import-export?authuser=2&project=[プロジェクトA]]

  • exportしたデータはプロジェクトAのバケットに保存される。

2. プロジェクトAのバケットのデータをプロジェクトBのバケットにコピーする。

この時に権限設定をする必要がある。

  • 転送元のバケット(プロジェクトA):**roles/storage.objectAdminまたはroles/storage.admin**の権限が必要。
  • 転送先のバケット(プロジェクトB):**roles/storage.objectCreatorroles/storage.objectViewer**の権限が必要。

3. バケットのページにてデータ転送を選択する。

[https://console.cloud.google.com/storage/browser/[プロジェクトA]t%3Btab=objects?forceOnBucketsSortingFiltering=true&authuser=2&project=earther-development&prefix=&forceOnObjectsSortingFiltering=false]

  • 転送元のバケット(プロジェクトA)の場合: データ転送(入力)
  • 転送先のバケット(プロジェクトB)の場合: データ転送(出力)

を選択する。

ソースの選択でAのバケットを選択して、転送先を選択でBのバケットを選択する。

「作成」をクリック。

*ジョブの詳細→オペレーションから転送状況が見れる

4. プロジェクトBのバケットのデータからプロジェクトBのfirestoreにデータをimportする

[https://console.cloud.google.com/firestore/databases/-default-/import-export?authuser=2&project=[プロジェクトB]]

インポートを選択 → バケットを選択 → インポートをクリック

Discussion