7.5到1.8,现在我无法上传数据。 这是错误:
appcfg.py upload_data --url=http://192.168.1.106:8001/ --filename=database --num_threads=4 --rps_limit=500
08:46 PM Uploading data records.
[INFO ] Logging to bulkloader-log-20130528.204655
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 500/second
[INFO ] Batch Size: 10
Error 301: --- begin server output ---
--- end server output ---
当我使用:/ _ah / remote_api时,这是错误。
appcfg.py upload_data --url=http://192.168.1.106:8001/_ah/remote_api --filename=database --num_threads=4 --rps_limit=500
08:48 PM Uploading data records.
[INFO ] Logging to bulkloader-log-20130528.204813
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 500/second
[INFO ] Batch Size: 10
Error 404: --- begin server output ---
404 Not Found
The resource could not be found.
--- end server output ---
我使用 localhost (使用默认配置)对其进行测试,结果完全相同。 为什么1.8版本不能正常工作时,1.7.5的工作正常? 有什么想法吗?
修改: 我也尝试使用bulkloader让事情变得更容易,结果就是这样:
1)我使用以下命令将数据库转储到GAE的APP中:
bulkloader.py --dump --url=<myapp> --filename=dumpBetaServer
一切都好。我喜欢结果一个名为dumpBetaServer的转储。
2)现在,我尝试将此转储恢复到我的开发服务器:
bulkloader.py --restore --url=http://192.168.1.106:8001 --filename=dumpBetaServer --num_threads=1
这就是结果:
[INFO ] Logging to bulkloader-log-20130529.081227
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
Traceback (most recent call last):
File "/usr/local/bin/bulkloader.py", line 171, in <module>
run_file(__file__, globals())
File "/usr/local/bin/bulkloader.py", line 167, in run_file
execfile(script_path, globals_)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4401, in <module>
sys.exit(main(sys.argv))
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4397, in main
return _PerformBulkload(arg_dict)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4165, in _PerformBulkload
throttle_class=throttle_class)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4072, in _GetRemoteAppId
rpc_server_factory=throttled_rpc_server_factory, secure=secure)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 659, in GetRemoteAppId
app_id = GetRemoteAppIdFromServer(server, path, rtok)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 568, in GetRemoteAppIdFromServer
response = server.Send(path, payload=None, **urlargs)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/appengine_rpc.py", line 393, in Send
f = self.opener.open(req)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open
response = meth(req, response)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 513, in http_response
'http', request, response, code, msg, hdrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 438, in error
return self._call_chain(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 521, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 301: Moved Permanently
当我尝试使用其他命令时:
bulkloader.py --restore --url=http://192.168.1.106:8001/_ah/remote_api --filename=dumpBetaServer --num_threads=1
结果如下:
[INFO ] Logging to bulkloader-log-20130529.081755
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
Traceback (most recent call last):
File "/usr/local/bin/bulkloader.py", line 171, in <module>
run_file(__file__, globals())
File "/usr/local/bin/bulkloader.py", line 167, in run_file
execfile(script_path, globals_)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4401, in <module>
sys.exit(main(sys.argv))
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4397, in main
return _PerformBulkload(arg_dict)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4165, in _PerformBulkload
throttle_class=throttle_class)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/bulkloader.py", line 4072, in _GetRemoteAppId
rpc_server_factory=throttled_rpc_server_factory, secure=secure)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 659, in GetRemoteAppId
app_id = GetRemoteAppIdFromServer(server, path, rtok)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 568, in GetRemoteAppIdFromServer
response = server.Send(path, payload=None, **urlargs)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/appengine_rpc.py", line 393, in Send
f = self.opener.open(req)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open
response = meth(req, response)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 513, in http_response
'http', request, response, code, msg, hdrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 438, in error
return self._call_chain(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain
result = func(*args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 521, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
编辑2: 这是我的app.yaml
# For Google App Engine deployment, copy this file to app.yaml
# and edit as required
# See http://code.google.com/appengine/docs/python/config/appconfig.html
# and http://web2py.com/book/default/chapter/11?search=app.yaml
application: <myapp>
version: 31
api_version: 1
# use this line for Python 2.5
#
runtime: python
# use these lines for Python 2.7
# upload app with: appcfg.py update web2py (where 'web2py' is web2py's root directory)
#
# runtime: python27
# threadsafe: true # true for WSGI & concurrent requests (Python 2.7 only)
default_expiration: "24h" # for static files
handlers:
- url: /(?P<a>.+?)/static/(?P<b>.+)
static_files: applications/\1/static/\2
upload: applications/(.+?)/static/(.+)
secure: always
- url: /favicon.ico
static_files: applications/welcome/static/favicon.ico
upload: applications/welcome/static/favicon.ico
- url: /robots.txt
static_files: applications/welcome/static/robots.txt
upload: applications/welcome/static/robots.txt
- url: .*
script: gaehandler.py # CGI
# script: gaehandler.wsgiapp # WSGI (Python 2.7 only)
secure: optional
admin_console:
pages:
- name: Appstats
url: /_ah/stats
builtins:
- remote_api: on
- appstats: on
- admin_redirect: on
- deferred: on
感谢您的帮助!
答案 0 :(得分:2)
新的devappserver在不同的端口启动不同的服务。在一般情况下,它将启动三个服务:您的应用程序(默认服务器),管理服务器(相当于appengine.google.com上的管理控制台)和API服务器。日志将显示如下内容:
INFO 2013-05-31 16:34:58,397 api_server.py:148]启动API 服务器位于:
http://localhost:48392
INFO 2013-05-31 16:34:58,408 dispatcher.py:96]启动服务器“默认”运行于:
http://localhost:8080
INFO 2013-05-31 16:34:58,420 admin_server.py:112]启动管理服务器:
http://localhost:8000
您需要传递给bulkuploader的网址是您的应用之一(默认服务器)。