2010-06-18 147 views
-4

這是我Teackback:我可以上傳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] 

回答

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 
0

我意識到這是一個老問題,但我是tryi自己做這件事,並認爲我應該爲未來的旅行者留下一張便條。

是:您可以將數據上傳到本地主機上運行的開發服務器。原始問題中的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

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']) 
相關問題