我可以将gae数据上传到localhost服务器

时间:2010-06-18 16:25:32

标签: python google-app-engine upload localhost

这是我的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]

3 个答案:

答案 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文件来描述转换。我找到了有用的信息来帮助我理解herehere (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'])