FirestoreのバックアップをCloud Functionsで作成する
Firestoreは何かあったときのために自分でバックアップとっておく必要があるっぽい。
FirestoreのフルバックアップをGCSに保存する用のCloud Functions(Python)を作成する。
ソース
ランタイム環境変数として以下2つを設定
- projectid:プロジェクトIDをセット
- gcs_bucket:「gs://バケット名」の形でセット
from google.cloud import firestore_admin_v1
import os
def firestore_backup(request):
projectid=os.environ['projectid']
gcs_bucket=os.environ['gcs_bucket']
request_body={"name":"projects/{}/databases/(default)".format(projectid),"output_uri_prefix":gcs_bucket}
firestore = firestore_admin_v1.FirestoreAdminClient()
export_return = firestore.export_documents(request=request_body)
return 'OK'
# Function dependencies, for example:
# package>=version
google-cloud-firestore == 2.0.2
あとはCloud Schedulerから起動設定してあげれば良い
実行すると、以下のような感じでバックアップフォルダが作成され、そこの下にExportファイル、メタデータが作成される
注意点
バックアップ保存先のバケットのリージョン
Firestoreのデータベースのリージョンと同じリージョンのバケットにしか保存できないっぽい
参考
Google Cloud Client Libraries for google-cloud-firestore
googleapis/python-firestore
GCPドキュメント
Author And Source
この問題について(FirestoreのバックアップをCloud Functionsで作成する), 我々は、より多くの情報をここで見つけました https://qiita.com/yakamazu/items/d70921b24fe7f3249c53著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .