【发布时间】:2015-09-07 08:39:16
【问题描述】:
设置
我在关注问题AppEngine datastore - backup programatically的unaccepted答案后遇到了404问题
我已启用数据存储区管理员,正如其中一位回答提供者所建议的那样。我可以在 Google App Engine 控制台中手动触发数据存储备份,并且备份运行没有任何故障。
此问题中的代码位于名为“app”的模块中。不是“默认”。
404 问题
这是 cron.yaml 中的 cron 作业。
cron:
- description: Regular backup
url: /_backup/fullbackup
schedule: every 24 hours
url 的处理程序会将备份任务放入队列中,然后调用
_ah/datastore_admin/backup.create?
gs_bucket_name=%2Fgs%2Ftest.appspot.com%2F21-06-2015&kind=Test&kind=TestContent
&kind=TestDocument&filesystem=gs
(我在这里用'test'替换了我的应用程序ID)
这在日志中显示 404 错误。
如果我在浏览器中使用上面的 url 和我的应用程序主机名(即https://test.appspot.com/_ah/datastore_admin/backup.create?
gs_bucket_name=%2Fgs%2Ftest.appspot.com%2F21-06-2015&kind=Test&kind=TestContent
&kind=TestDocument&filesystem=gs),我也会得到 404。
这里是路由/_backup/fullbackup的handler中的相关代码
task = taskqueue.add(
url='/_ah/datastore_admin/backup.create',
method='GET',
target='ah-builtin-python-bundle',
params={
'filesystem': 'gs',
'gs_bucket_name': self.get_bucket_name(),
'kind': (
'Test',
'TestContent',
'TestDocument'
)
}
)
问题:
- 问题的原因是什么?
- python 代码的
taskqueue.add部分是否需要队列名称? - 在我的 cron.yaml 中,是否需要将目标设置为
ah-builtin-python-bundle?
编辑
已启用内置的 datastore-admin,如此屏幕截图所示。
而且没有dispatch.yaml
【问题讨论】:
-
@Nick 这个问题没有被接受的答案,并且不是具体是关于 404 错误。
-
缺乏公认的答案并不重要,真的。如果您阅读问题和答案并意识到一个工作示例仅在 14 天前发布。我刚刚自己测试过它并且它有效。我认为问题可能在于您对 test.example.com 而不是 your-app-id.appspot.com 提出请求
-
@Nick 我已经澄清了我的问题并添加了额外的信息。我使用了
xxx.appspot.com主机名,但仍然是相同的 404。
标签: python google-app-engine cron backup