这是我正在使用的命令。我已按照https://developers.google.com/appengine/docs/python/tools/uploadingdata中的步骤进行操作。当我对我在Web上托管的同一个应用程序使用相同的命令时,该命令有效,我可以看到数据存储区中的数据。但是相同的命令不适用于我的应用程序的本地副本。我得到的错误是:
HTTPError:HTTP错误404:未找到
[错误]身份验证失败:凭据不正确或身份验证类型不受支持(例如OpenId)。
但我并没有真正使用任何凭据在本地托管它。请帮忙。
./appcfg.py upload_data --application=say_hello --config_file=bulkloader.yaml --filename=output.csv --kind=Dashboard --url=http:hostname:8080/_ah/remote_api
答案 0 :(得分:1)
如果您的参数正确但身份验证失败,请传入-oauth2标志:
appcfg.py --oauth2 update app.yaml
然后你的appcfg.py的其余部分应该进行身份验证。如果它仍然不起作用,您的appid或网址可能已关闭。
答案 1 :(得分:0)
如果您使用的是mac,则应该在Mac上拥有管理权限。如果没有,请将sudo放在命令的开头
答案 2 :(得分:0)
我不确定为什么会错误地引发错误,我所知道的是它可以通过传递--email
标志来解决。简单运行此操作,当它要求输入密码时,点击Enter
。
appcfg.py upload_data --url=http://localhost:8080/_ah/remote_api/ --filename=output.csv --application=[your-app-id] --email=test@example.com path/to/folder/containing/app/yaml/
[your-app-id]的格式为dev~[application-name]
。例如dev~something-engine-v2
。
注意:确保HTTP ,因为我在使用HTTPS意外访问localhost时也遇到了同样的错误。
答案 3 :(得分:0)
我遇到了同样的问题,结果证明我的通配符规则妨碍了remote_api网址。
以下是我的app.yaml的摘录。 (我正在归档一个遗留应用程序,所以我不在乎现在没有人可以访问该网站。)
builtins:
- remote_api: on
handlers:
# - url: /.*
# script: main.py