Google App Engineにアプリをアップロードしたい:
こうなる
Error parsing yaml file:
mapping values are not allowed here
in "/home/antonio/Desktop/ATI/climate-change/app.yaml", line 2, column 8
走るとき
./appcfg.py update /home/antonio/Desktop/ATI/climate-change
このapp.yamlファイルの場合:
application:climate-change
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: helloworld.app
行2、列8はバージョン行に対応しています。ここで何が間違っていますか?ところで、ここではUbuntu 12.04を使用しています。
変化する
application:climate-change
に
application: climate-change
Yamlでは、コロンの後のスペースは必須です。 ( http://www.yaml.org/spec/1.2/spec.html#id275996 を参照)
別の原因は、間違ったインデントです。これは、間違ったオブジェクトを作成しようとすることを意味します。 Kubernetes Ingressの定義の1つを修正しました。
間違った
- path: /
backend:
serviceName: <service_name>
servicePort: <port>
正しい
- path: /
backend:
serviceName: <service_name>
servicePort: <port>
または、間隔が問題でない場合は、ファイル名ではなく親ディレクトリ名が必要になる場合があります。
$ dev_appserver helloapp.py
ではありません
しかし$ dev_appserver hello/
例えば:
Johns-Mac:hello john$ dev_appserver.py helloworld.py
Traceback (most recent call last):
File "/usr/local/bin/dev_appserver.py", line 82, in <module>
_run_file(__file__, globals())
...
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/yaml_listener.py", line 212, in _GenerateEventParameters
raise yaml_errors.EventListenerYAMLError(e)
google.appengine.api.yaml_errors.EventListenerYAMLError: mapping values are not allowed here
in "helloworld.py", line 3, column 39
Versus
Johns-Mac:hello john$ cd ..
Johns-Mac:fbm john$ dev_appserver.py hello/
INFO 2014-09-15 11:44:27,828 api_server.py:171] Starting API server at: http://localhost:61049
INFO 2014-09-15 11:44:27,831 dispatcher.py:183] Starting module "default" running at: http://localhost:8080
たぶんこれは他の誰かに役立つかもしれませんが、マッピングのRHSに次のような引用符を含まないコロンが含まれているときにこのエラーを見ました:
someKey:もう1つのキー:今日の変更:もっとうまくいく
あるべき
someKey:別のキー: "今日の変更:より多くの作業を行う"