можно загружать данные (приложение google app) из http://localhost:8100/remote_api - PullRequest
0 голосов
/ 18 июня 2010

я могу загрузить данные из gae (http://zjm1126.appspot.com/remote_api), это код :

appcfg.py download_data  --application=zjm1126 --url=http://zjm1126.appspot.com/remote_api --filename=a.csv

и успешно:

D:\zjm_demo\app>appcfg.py download_data  --application=zjm1126 --url=http://zjm1
126.appspot.com/remote_api --filename=a.csv
Downloading data records.
[INFO    ] Logging to bulkloader-log-20100618.162421
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
[INFO    ] Opening database: bulkloader-progress-20100618.162421.sql3
[INFO    ] Opening database: bulkloader-results-20100618.162421.sql3
[INFO    ] Connecting to zjm1126.appspot.com/remote_api
Please enter login credentials for zjm1126.appspot.com
Email: zjm1126@gmail.com
Password for zjm1126@gmail.com:
[INFO    ] Downloading kinds: [u'LogText', u'Greeting', u'Forum', u'Thread']
....
[INFO    ] Have 0 entities, 0 previously transferred
[INFO    ] 0 entities (8804 bytes) transferred in 11.3 seconds

, поэтому я хочу знать, можно загрузить данные из 127.0.0.1, это мой код:

appcfg.py download_data  --application=zjm1126 --url=http://localhost:8100/remote_api --filename=a.csv

и ошибка:

D:\zjm_demo\app>appcfg.py download_data  --application=zjm1126 --url=http://loca
lhost:8100/remote_api --filename=a.csv
Downloading data records.
[INFO    ] Logging to bulkloader-log-20100618.162325
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
[INFO    ] Opening database: bulkloader-progress-20100618.162325.sql3
[INFO    ] Opening database: bulkloader-results-20100618.162325.sql3
Please enter login credentials for localhost
Email: zjm1126@gmail.com
Password for zjm1126@gmail.com:
[INFO    ] Connecting to localhost:8100/remote_api
[ERROR   ] Exception during authentication
Traceback (most recent call last):
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\bulkload
er.py", line 3169, in Run
    self.request_manager.Authenticate()
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\bulkload
er.py", line 1178, in Authenticate
    remote_api_stub.MaybeInvokeAuthentication()
  File "d:\Program Files\Google\google_appengine\google\appengine\ext\remote_api
\remote_api_stub.py", line 542, in MaybeInvokeAuthentication
    datastore_stub._server.Send(datastore_stub._path, payload=None)
  File "d:\Program Files\Google\google_appengine\google\appengine\tools\appengin
e_rpc.py", line 346, in Send
    f = self.opener.open(req)
  File "D:\Python25\lib\urllib2.py", line 387, in open
    response = meth(req, response)
  File "D:\Python25\lib\urllib2.py", line 498, in http_response
    'http', request, response, code, msg, hdrs)
  File "D:\Python25\lib\urllib2.py", line 425, in error
    return self._call_chain(*args)
  File "D:\Python25\lib\urllib2.py", line 360, in _call_chain
    result = func(*args)
  File "D:\Python25\lib\urllib2.py", line 506, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 404: Not Found
[INFO    ] Authentication Failed

так что мне делать,

спасибо

Ответы [ 3 ]

2 голосов
/ 29 января 2011

Порт по умолчанию 8080, а не 8100. Использование 8100 приведет к ошибке Authentication Failed.

Также, если ваш app.yaml включил удаленный API, используя:

builtins:
- remote_api: on

тогда вам нужно использовать URL:

http://localhost:8080/_ah/remote_api

а не:

http://localhost:8080/remote_api

Также вам нужно будет указать вид (для сервера разработки), например ::

--kind=MyDataClass
1 голос
/ 25 декабря 2010

Вместо использования

appcfg.py download_data  --application=zjm1126 --url=http://localhost:8100/remote_api --filename=a.csv

Попробуйте использовать

appcfg.py download_data   --filename=a.csv <folder containing your app.yaml>
1 голос
/ 18 июня 2010

Возможно, вам придется использовать --kind=LogText для вашего вида LogText, а затем повторить для каждого из ваших других видов, так как веб-сервер разработки не поддерживает загрузку всех видов - он может делать только по одному за раз.

Не уверен, что это приведет к 404.

...