这是我的Teackback:
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
我可以将数据上传到localhost服务器。
感谢
更新
我的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]
答案 0 :(得分: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
答案 1 :(得分:0)
我意识到这是一个古老的问题,但我正在努力做到这一点,我想我应该为未来的旅行者留言。
是:您可以将数据上传到本地主机上运行的开发服务器。原始问题中的ste_loader.py文件是一种不推荐使用的方法。首选方法是编写.yaml文件来描述转换。我找到了有用的信息来帮助我理解here和here (but be careful I think this is outdated)。官方文档在这里:GAE Documentation for appcfg.py and bulkloader.yaml,但不幸的是我没有发现它非常有帮助。我最终在这里阅读了这个来源:source for google.appengine.ext.bulkload.transform.py。
答案 2 :(得分: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'])