Google AppEngine 部署失败 ERROR appcfg.py

0 投票
3 回答
2759 浏览
提问于 2025-04-18 15:11

我刚开始接触谷歌云服务,正在尝试使用AppEngine。我在这里跟着一个Python的教程:https://developers.google.com/appengine/docs/python/gettingstartedpython27/uploading

我想把我的文件上传到谷歌,但一直没成功,我也不知道为什么!首先,我忘记修改app.yaml文件,但现在我已经把“application”这一项填成了“direct-way-658”,这是我的应用名称!

这里是日志信息:

2014-07-29 14:28:47 Running command: "['C:\\python27_x64\\python.exe', '-u', 'C:\\Program Files (x86)\\Google\\google_appengine\\appcfg.py', '--no_cookies', u'--email=akash.myeamail@gmail.com', '--passin', 'update', 'D:\\POCGOOGLE\\guestbook']"
02:28 PM Application: direct-way-658; version: 1
02:28 PM Host: appengine.google.com
02:28 PM Starting update of app: direct-way-658, version: 1
02:28 PM Getting current resource limits.
2014-07-29 14:28:48,681 ERROR appcfg.py:2395 An error occurred processing file '': <urlopen error [Errno 11004] getaddrinfo failed>. Aborting. 
Traceback (most recent call last):
    File "C:\Program Files (x86)\Google\google_appengine\appcfg.py", line 126, in <module>
    run_file(__file__, globals())
    File "C:\Program Files (x86)\Google\google_appengine\appcfg.py", line 122, in run_file
    execfile(_PATHS.script_file(script_name), globals_)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 5334, in <module>
    main(sys.argv)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 5325, in main
    result = AppCfgApp(argv).Run()
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2963, in Run
    self.action(self)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 4991, in __call__
    return method()
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 3762, in Update
    self._UpdateWithParsedAppYaml(appyaml, self.basepath)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 3815, in _UpdateWithParsedAppYaml
    self.UpdateVersion(rpcserver, basepath, appyaml, APP_YAML_FILENAME)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 3698, in UpdateVersion
    return appversion.DoUpload(paths, openfunc)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2385, in DoUpload
    self.error_fh)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 468, in GetResourceLimits
    resource_limits.update(_GetRemoteResourceLimits(logging_context))
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 438, in _GetRemoteResourceLimits
    yaml_data = logging_context.Send('/api/appversion/getresourcelimits')
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 1724, in Send
    result = self.rpcserver.Send(url, payload=payload, **kwargs)
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 409, in Send
    f = self.opener.open(req)
    File "C:\python27_x64\lib\urllib2.py", line 404, in open
    response = self._open(req, data)
    File "C:\python27_x64\lib\urllib2.py", line 422, in _open
    '_open', req)
    File "C:\python27_x64\lib\urllib2.py", line 382, in _call_chain
    result = func(*args)
    File "C:\python27_x64\lib\urllib2.py", line 1222, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
    File "C:\Program Files (x86)\Google\google_appengine\lib\fancy_urllib\fancy_urllib\__init__.py", line 387, in do_open
    raise url_error
    urllib2.URLError: <urlopen error [Errno 11004] getaddrinfo failed>
2014-07-29 14:28:48 (Process exited with code 1)

You can close this window now.

你能帮我一下吗?

3 个回答

0

谢谢大家的回答!不过其实是个代理问题。我所在的公司在所有与互联网的连接中都使用了代理,所以我需要设置我的环境变量,让Google应用引擎能够通过这个代理。

在Google SDK的命令行中:

设置HTTP代理:
set HTTP_PROXY=http://用户名:密码@代理地址:端口
设置HTTPS代理:
set HTTPS_PROXY=http://用户名:密码@代理地址:端口

然后启动应用:
appcfg.py update 应用名称/

0

我在尝试上传一个 .json 文件时遇到了类似的问题。根据这里的建议 https://gist.github.com/darktable/873098,我修改了我的 App.yaml 文件,添加了一个 MIME 类型,然后就成功了。

application: your_app
version: 1
runtime: php
api_version: 1

handlers:
- url: /static
 static_dir: static

- url: /.*
 script: index.php

- url: /(.*\.json)
 mime_type: application/json
 static_files: static/\1
 upload: static/(.*\.json)
 expiration: "1h"
1

你能把你的app.yaml文件发出来吗?看起来它在尝试上传一个没有名字的文件,出现了“处理文件时发生错误‘’:中止。”的提示。

撰写回答