因此,我正在尝试使用 cron.yaml 自动化我们的 GAE 数据存储备份。此外,我想使用 Google Cloud Storage 作为我们备份的目的地。我创建了一个存储桶并设置了 ACL。手动备份可通过 Datastore 管理控制台进行。我什至可以让 cron 工作。但是,我们将相同的代码库推送到 3 个不同的环境:开发、登台、生产。因此,我想根据应用程序名称将不同存储桶中的备份分开。
我希望暂存数据存储区转到 myapp_staging_bk 存储桶,在 myapp_dev_bk 存储桶中进行开发,并使用 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 服务器来解决这个问题,但我想避免这种情况。
有没有人有什么建议?