2013-04-23 34 views
3

我克隆了一個工作的谷歌應用程序引擎回購到我的本地環境,並得到它的工作。 後來我決定我想部署到我自己的GAE應用程序,所以我將app.yaml中的名稱更改爲我新創建的應用程序中的名稱。更改谷歌應用程序引擎名稱

但是當與GoogleAppEngineLauncher啓動它,我得到這個錯誤:

BadRequestError: app "dev~bandtasticnews" cannot access app "dev~noticiashacker"'s data 

原名noticiashacker,而新的是bandtasticnews,克隆的工作好嗎在線,但dev的壞了,我不得不如果我希望它在本地啓動並在部署之前返回它,請將app.yaml上的名稱更改爲原始名稱。

我的代碼中沒有更多的行引用原始名稱,我不知道它爲什麼試圖檢索它。

UPDATE 這裏是在GoogleAppEngineLauncher所示的堆棧跟蹤記錄

*** Running dev_appserver with the following flags: 
    --skip_sdk_update_check=yes --port=8080 --admin_port=8000 --clear_datastore=yes 
Python command: /usr/bin/python2.7 
INFO  2013-04-24 00:45:10,683 devappserver2.py:498] Skipping SDK update check. 
WARNING 2013-04-24 00:45:10,690 api_server.py:328] Could not initialize images API; you are likely missing the Python "PIL" module. 
INFO  2013-04-24 00:45:10,693 api_server.py:152] Starting API server at: http://localhost:50495 
INFO  2013-04-24 00:45:10,700 dispatcher.py:150] Starting server "default" running at: http://localhost:8080 
INFO  2013-04-24 00:45:10,706 admin_server.py:117] Starting admin server at: http://localhost:8000 
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/devappserver2/mtime_file_watcher.py:82: UserWarning: There are too many files in your application for changes in all of them to be monitored. You may have to restart the development server to see some changes to your files. 
    'There are too many files in your application for ' 
ERROR 2013-04-24 00:45:17,489 webapp2.py:1528] app "dev~bandtasticnews" cannot access app "dev~noticiashacker"'s data 
Traceback (most recent call last): 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1511, in __call__ 
    rv = self.handle_exception(request, response, e) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1505, in __call__ 
    rv = self.router.dispatch(request, response) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher 
    return route.handler_adapter(request, response) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1077, in __call__ 
    return handler.dispatch() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 547, in dispatch 
    return self.handle_exception(e, self.app.debug) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 545, in dispatch 
    return method(*args, **kwargs) 
    File "/Users/grillermo/c/BandtasticNews/Noticias-HAcker/handlers/MainHandler.py", line 85, in get 
    self.response.out.write(template.render('templates/main.html', locals())) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/template.py", line 92, in render 
    return t.render(Context(template_dict)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/template.py", line 172, in wrap_render 
    return orig_render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 173, in render 
    return self._render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 167, in _render 
    return self.nodelist.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 794, in render 
    bits.append(self.render_node(node, context)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 807, in render_node 
    return node.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/loader_tags.py", line 125, in render 
    return compiled_parent._render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 167, in _render 
    return self.nodelist.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 794, in render 
    bits.append(self.render_node(node, context)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 807, in render_node 
    return node.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/defaulttags.py", line 257, in render 
    return self.nodelist_true.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 794, in render 
    bits.append(self.render_node(node, context)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 807, in render_node 
    return node.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 842, in render 
    output = self.filter_expression.resolve(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 551, in resolve 
    obj = self.var.resolve(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 694, in resolve 
    value = self._resolve_lookup(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 729, in _resolve_lookup 
    current = current() 
    File "/Users/grillermo/c/BandtasticNews/Noticias-HAcker/models.py", line 73, in sum_votes 
    self.put() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py", line 1070, in put 
    return datastore.Put(self._entity, **kwargs) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py", line 579, in Put 
    return PutAsync(entities, **kwargs).get_result() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 604, in get_result 
    return self.__get_result_hook(self) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1569, in __put_hook 
    self.check_rpc_success(rpc) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1224, in check_rpc_success 
    raise _ToDatastoreError(err) 
BadRequestError: app "dev~bandtasticnews" cannot access app "dev~noticiashacker"'s data 
INFO  2013-04-24 00:45:17,532 recording.py:673] Saved; key: __appstats__:017200, part: 157 bytes, full: 69853 bytes, overhead: 0.003 + 0.031; link: http://localhost:8080/_ah/stats/details?time=1366764317201 
ERROR 2013-04-24 00:45:17,538 cgi.py:121] Traceback (most recent call last): 
    File "/Users/grillermo/c/BandtasticNews/Noticias-HAcker/main.py", line 91, in <module> 
    main() 
    File "/Users/grillermo/c/BandtasticNews/Noticias-HAcker/main.py", line 86, in main 
    util.run_wsgi_app(application) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/util.py", line 98, in run_wsgi_app 
    run_bare_wsgi_app(add_wsgi_middleware(application)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/util.py", line 118, in run_bare_wsgi_app 
    for data in result: 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/appstats/recording.py", line 1284, in appstats_wsgi_wrapper 
    result = app(environ, appstats_start_response) 
    File "/Users/grillermo/c/BandtasticNews/Noticias-HAcker/gaesessions/__init__.py", line 451, in __call__ 
    return self.app(environ, my_start_response) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1519, in __call__ 
    response = self._internal_error(e) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1511, in __call__ 
    rv = self.handle_exception(request, response, e) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1505, in __call__ 
    rv = self.router.dispatch(request, response) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher 
    return route.handler_adapter(request, response) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 1077, in __call__ 
    return handler.dispatch() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 547, in dispatch 
    return self.handle_exception(e, self.app.debug) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.3/webapp2.py", line 545, in dispatch 
    return method(*args, **kwargs) 
    File "/Users/grillermo/c/BandtasticNews/Noticias-HAcker/handlers/MainHandler.py", line 85, in get 
    self.response.out.write(template.render('templates/main.html', locals())) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/template.py", line 92, in render 
    return t.render(Context(template_dict)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/template.py", line 172, in wrap_render 
    return orig_render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 173, in render 
    return self._render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 167, in _render 
    return self.nodelist.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 794, in render 
    bits.append(self.render_node(node, context)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 807, in render_node 
    return node.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/loader_tags.py", line 125, in render 
    return compiled_parent._render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 167, in _render 
    return self.nodelist.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 794, in render 
    bits.append(self.render_node(node, context)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 807, in render_node 
    return node.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/defaulttags.py", line 257, in render 
    return self.nodelist_true.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 794, in render 
    bits.append(self.render_node(node, context)) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 807, in render_node 
    return node.render(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 842, in render 
    output = self.filter_expression.resolve(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 551, in resolve 
    obj = self.var.resolve(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 694, in resolve 
    value = self._resolve_lookup(context) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/_internal/django/template/__init__.py", line 729, in _resolve_lookup 
    current = current() 
    File "/Users/grillermo/c/BandtasticNews/Noticias-HAcker/models.py", line 73, in sum_votes 
    self.put() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py", line 1070, in put 
    return datastore.Put(self._entity, **kwargs) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py", line 579, in Put 
    return PutAsync(entities, **kwargs).get_result() 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 604, in get_result 
    return self.__get_result_hook(self) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1569, in __put_hook 
    self.check_rpc_success(rpc) 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/datastore/datastore_rpc.py", line 1224, in check_rpc_success 
    raise _ToDatastoreError(err) 
BadRequestError: app "dev~bandtasticnews" cannot access app "dev~noticiashacker"'s data 

UPDATE 試了不同的計算機上,這是同樣的事情,但是這一次我試圖運行應用程序時無需它的名字noticiashacker。

UPDATE 的app.yaml的

application: bandtasticnews 
version: 5 
runtime: python27 
api_version: 1 
threadsafe: false 

libraries: 
- name: django 
    version: "1.3" 

builtins: 
- appstats: on 
- remote_api: on 

handlers: 
- url: /favicon.ico 
    static_files: static/favicon.ico 
    upload: static/favicon.ico 
- url: /robots.txt 
    static_files: static/robots.txt 
    upload: static/robots.txt 
- url: /reports/.* 
    script: reports.py 
    login: admin 
- url: /tasks/send_top_to_twitter 
    script: crons.py 
    login: admin 
- url: /tasks/send_to_killmetrics 
    script: crons.py 
    login: admin 
- url: /tasks/update_top_karma 
    script: crons.py 
    login: admin 
- url: /tasks/cleanup_sessions 
    script: crons.py 
    login: admin 
- url: /favicon.ico 
    static_files: static/favicon.ico 
    upload: static/favicon.ico 
- url: /robots.txt    
    static_files: static/robots.txt 
    upload: static/robots.txt  
- url: /static 
    static_dir: static 
- url: /admin/.* 
    script: admin.py 
    login: admin 
- url: .* 
    script: main.py 
+0

我不知道啓動程序是什麼(不想知道)這是一個與app.yaml文件的Python應用程序?還是Java? – 2013-04-28 11:59:34

+0

Python應用程序,但沒關係與dev_appserver.py啓動器我得到相同的錯誤。 – 2013-04-28 17:30:08

+0

你的app.yaml是什麼樣的? – 2013-04-28 17:53:20

回答

2

也許嘗試這一點,首先你的應用程序下載到一個新的目錄

appcfg.py download_app -A <your_app_id> -V <your_app_version> <output-dir> 

創建要應用ID的新的app.yaml使用(不要複製,但它創造新) 然後運行dev_appserver ./

好運

+0

它是主文件夾,它應該與app.yaml中的文件夾具有相同的名稱。謝謝,你的是賞金。 – 2013-04-29 22:09:26

+0

哇,謝謝,雖然有點幸運,但很高興你解決了它 – 2013-04-30 08:02:32

0

你必須從舊的appid在開發數據存儲的數據。

當您啓動開發服務器時,需要使用--clear_datastore清除本地數據存儲。不知道你是怎麼做到的是,在發射器(從來沒有使用它)

+0

嘗試使用dev_appserver.py和GoogleAppEngineLauncher在UI上使用複選框。問題依然存在,我想我刪除了我的Mac上的一些文件夾。 – 2013-04-24 00:31:56

+0

不成功地嘗試刪除googleappenginelauncher並重新安裝它。 – 2013-04-24 00:36:10

+0

我發現datastore.db文件刪除它,錯誤仍然存​​在。 – 2013-04-24 00:43:29

0

嘗試登錄到管理控制檯,

http://localhost:8888/_ah/admin 

同時保留原始名稱,您可以在數據存儲查看器中看到一些數據,將其清除(對於所有類型的實體),停止開發服務器並將名稱更改爲新名稱,然後重新開始。它應該工作。

問題是命名空間,谷歌分隔多個應用程序之間的數據的方式。您的某些數據將保留舊的名稱空間,而不會被刪除。

+0

你也可以嘗試刪除文件夾appengine-generated,它包含一個名爲local_db.bin的文件(它實際上存儲你的數據)和xml,它告訴你如何創建索引以及在數據上創建的索引。 在簡單情況下刪除或重命名local_db.bin應該足夠了 – skywalker 2013-04-29 01:00:40

0

就我而言,只需刪除cookie即可解決問題。之後我發現這個解決方案,我發現Chrome隱身模式沒有問題。