クラウドストレージに保存された特定のデータストア* .backup_infoファイルを収集し、種類ごとに「最新の」backup_infoファイルとしてコピーするための最良の戦略を探しています。最新のbackup_infoファイルが見つかりました。最新のデータストアバックアップを自動的に保持
gs://MY-PROJECT.appspot.com/latest/Comment.backup_info
基本的に、Cloud Datastoreにデータを持つGoogle App Engineアプリ(Python標準)があります。私は、文書Scheduled Backupsに記載されているように、自動的に定期的にバックアップを実行するためにcron-jobを実行することができます。また、手動で起動されるバックアップタスクを実行するPythonコードを書くこともできます。described in this SO answer私は、特定の種類の最新のbackup_infoファイルを見つけて、それをコピーして目的の場所に名前を変更するタスクを実行する小さなPython cronジョブを作成する予定です。
どちらの方法でも、特定の種類のバックアップが複数ある場合、元のバックアップ場所には1日中に多数のファイルとフォルダが混在します。例えばgs://MY-PROJECT.appspot.com/
では、私が見つける:
VeryLoooooongRandomLookingString.backup_info
OtherStringForSecondBackup.backup_info
OtherStringForThirdBackup.backup_info
を文字列には、すべてのバックアップの実行のためのユニークな識別子であるように思われます。私は、* .backup_infoファイルのリストを含んでいると仮定します。
VeryLoooooongRandomLookingString.Comment.backup_info
OtherStringForSecondBackup.Comment.backup_info
OtherStringForThirdBackup.Comment.backup_info
バックアップ内のすべての種類(例: "コメント"。この種類のバックアップデータと実際のバックアップデータのリストが含まれているようです。
datastore_backup_CUSTOM_PREFIX_2017_09_20_Comment/
datastore_backup_CUSTOM_PREFIX_2017_09_20_1_Comment/
datastore_backup_CUSTOM_PREFIX_2017_09_20_2_Comment/
バックアップと種類ごとのデータフォルダ。ここでは種類の "コメント"のために、9月20日に3回バックアップされました。
- それは
/_ah/datastore_admin/backup.create
を呼び出すときに明示的にクエリパラメータ(またはHTTPヘッダ)などのカスタムUIDを指定することも可能です:私の質問は、データストアおよび/またはストレージに関連していますか?
- もしそうでなければ、バックアップが完了した後に、UIDのメッセージをフックなどに送信できますか?
- (1)と(2)が不可能な場合:ストレージの中で、どの種類の最新の* .backup_infoファイルを見つけるのが最適でしょうか? listbucket()はフィルタリングを許可していないようですが、特定の名前パターンを探している何百、何千ものファイルを繰り返すと効率的になるとは思いません。