我可以将gae数据上传到本地服务器吗
这是我的反馈:
D:\zjm_demo\app>appcfg.py upload_data --config_file=upload/str_loader.py --filename=upload/a.csv --kind=College --url=http://localhost:8100/remote_api
Uploading data records.
app_id argument required for non appspot.com domains
D:\zjm_demo\app>appcfg.py upload_data --app_id=zjm1126 --config_file=upload/str_loader.py --filename=upload/a.csv --kind=College --url=http://localhost:8100/rem
ote_api
Usage: appcfg.py [options] <action>
appcfg.py: error: no such option: --app_id
D:\zjm_demo\app>appcfg.py upload_data app_id=zjm1126 --config_file=upload/str_loader.py --filename=upload/a.csv --kind=College --url=http://localhost:8100/remot
e_api
Usage: appcfg.py [options] upload_data <directory>
appcfg.py: error: Not a directory: app_id=zjm1126
我可以把数据上传到本地服务器吗?
谢谢
更新
我的 ste_loader.py 文件是:
from google.appengine.ext import db
from google.appengine.tools import bulkloader
# 以下是 Model 的 Definition
class College(db.Model):
cid = db.StringProperty(required=True)
name = db.StringProperty(required=True)
# 以下是匯入資料的 class
class CollegeLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'College',
[
('cid', str),
('name', lambda x: unicode(x, 'utf-8')),
])
loaders = [CollegeLoader]
3 个回答
0
appcfg.py download_data --url=http://APPNAME.appspot.com/_ah/remote_api --filename=dump --kind=EntityName
appcfg.py upload_data --url=http://127.0.0.1:8080/_ah/remote_api --filename=dump --application=dev~APPNAME
如果你在认证方面遇到问题,可以在你的 appengine_config.py 文件中添加以下内容:
if os.environ.get('SERVER_SOFTWARE','').startswith('Development'):
remoteapi_CUSTOM_ENVIRONMENT_AUTHENTICATION = (
'REMOTE_ADDR', ['127.0.0.1'])
0
我知道这个问题已经有点老了,但我自己也在尝试解决这个问题,所以想给未来的朋友们留个笔记。
没错:你可以把数据上传到本地的开发服务器上。原问题中提到的ste_loader.py文件已经不再推荐使用了。现在更好的方法是写一个.yaml文件来描述数据的转换。我找到了一些有用的信息,帮助我理解这些内容,可以在这里查看,还有这里(不过要小心,这个可能已经过时了)。官方文档在这里:GAE关于appcfg.py和bulkloader.yaml的文档,但遗憾的是我觉得它并不是很有帮助。最后我还是去看了源代码,这里是google.appengine.ext.bulkload.transform.py的源代码。
0
upload_data这个函数的参数是--application或者-A,而不是--app_id:
upload_data --application=zjm1126 --config_file=upload/str_loader.py --filename=upload/a.csv --kind=College --url=http://localhost:8100/rem