Google App Engine应用部署

时间:2015-08-20 00:25:03

标签: python google-app-engine web-applications

我正在尝试在他们的Python教程之后在Google Engine上部署基本的HelloWorld应用程序。我创建了一个 helloworld.py 文件和一个 app.yaml 文件,并从他们的在线教程中复制了代码。我注册了Google App Engine并尝试了所有操作,但不断收到以下错误:

2015-08-19 19:22:08,006 ERROR appcfg.py:2438 An error occurred processing file '': 
HTTP Error 403: Forbidden Unexpected HTTP status 403. Aborting. 
Error 403: --- begin server output ---
You do not have permission to modify this app (app_id=u'helloworld').
--- end server output ---
If deploy fails you might need to 'rollback' manually.
The "Make Symlinks..." menu option can help with command-line work.
*** appcfg.py has finished with exit code 1 ***

以下是来自helloworld.py的代码:

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, Udacity!')

app = webapp2.WSGIApplication([
   ('/', MainPage),
   ], debug=True)

这是来自app.yaml文件的代码:

application: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: helloworld.app

权限存在问题,即Google App或笔记本电脑的设置?我已经尝试了stackoverflow上的所有内容,所以任何新的建议都将非常感谢!!

5 个答案:

答案 0 :(得分:31)

在我的情况下,我被拒绝,因为appcfg将我的ouauth2令牌保存在文件~/.appcfg_oauth2_tokens中,这恰好是另一个appengine帐户。只需删除该文件,然后重试。它应该工作。这是在Mac,但我不确定Windows。

答案 1 :(得分:5)

好的,现在有更简单的方法可以做到这一点。

如果您收到此消息"您无权修改此应用程序" 但你的id在app.YAML中是正确的,请执行以下操作:

在桌面上启动Google App Engine Launcher 点击左上角的控制标签 - > "清除部署凭据"

多数民众赞成!

答案 2 :(得分:2)

app.yaml中的应用程序名称有点像域名。一旦有人保留它,没有其他人可以使用它。您需要转到here,然后从屏幕顶部的下拉菜单中选择“创建项目...”。在弹出窗口中,它会建议项目ID,或者您可以选择自己的项目ID。许多项目ID被采用,因此您需要指定一些不寻常的东西以获取未采取的内容。

然后,您将此项目ID放在应用程序行中的app.yaml中。然后,您应该能够上传您的项目。

答案 3 :(得分:1)

确保您已在GAE中创建了一个项目,项目ID 与您在app.yaml中的配置完全相同

的工作流程:

  1. 在GAE中创建项目并设置名称
  2. 在同一窗口,您可以编辑项目ID
  3. 复制项目ID并在GAE启动器中创建新应用程序时将其粘贴(或编辑app.yaml以设置应用程序的值)
  4. 部署它并在浏览器中输入{project-id} .appspot.com \祝您好运!

答案 4 :(得分:1)

提到的app.yaml中的应用ID('应用:')是' helloworld'这似乎是你好世界应用程序的默认值。使用以下代码创建新应用:https://console.cloud.google.com/home/dashboard并使用app.yaml中的新应用ID。

请查看:Application for gae does not deploy已回答Linux平台的类似问题,我们需要删除:〜/ .appcfg_oauth2_tokens *以解决权限错误。