そこで、cron.yaml を使用して GAE データストアのバックアップを自動化しようとしています。さらに、Google Cloud Storage をバックアップ先として使用したいと考えています。バケットを作成し、ACL をセットアップしました。手動バックアップは、データストア管理コンソールから実行できます。cronを動作させることさえできます。ただし、同じコードベースを 3 つの異なる環境 (開発、ステージング、運用) にプッシュします。そのため、アプリケーション名に基づいて、バックアップを異なるバケットに分けたいと思います。
ステージング データストアを myapp_staging_bk バケットに、dev を myapp_dev_bk バケットに、live を myapp_live_bk に移動したいと考えています。
cron.yaml:
cron:
- description: My Daily Backup
url: /_ah/datastore_admin/backup.create?name=BackupToCloud&kind=LogTitle&kind=EventLog&filesystem=gs&gs_bucket_name=whitsend
schedule: every 12 hours
target: ah-builtin-python-bundle
上記の URL でアプリケーション名をプルする方法を見つけられれば、これはすべて非常に簡単です。このようなもの:
url: /_ah/datastore_admin/backup.create?name=BackupToCloud&kind=LogTitle&kind=EventLog&filesystem=gs&{myapp}_bk=whitsend
schedule: every 12 hours
ここで、{myapp} は app.yaml にあるアプリの名前になります。
https://developers.google.com/appengine/articles/scheduled_backupsは、このタイプのセットアップについて何も述べていません。
CIサーバーでこれを実行できることはわかっていますが、これは避けたいと思います。
誰か提案はありますか?