web-dev-qa-db-fra.com

Erreur d'analyse du fichier yaml: les valeurs de mappage ne sont pas autorisées ici

Je souhaite télécharger une application sur Google App Engine:

J'ai compris

Error parsing yaml file:
mapping values are not allowed here
  in "/home/antonio/Desktop/ATI/climate-change/app.yaml", line 2, column 8 

Lors de l'exécution

./appcfg.py update /home/antonio/Desktop/ATI/climate-change

avec ce fichier app.yaml:

application:climate-change
version: 1
runtime: python27
api_version: 1
threadsafe: true

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

ligne 2, colonne 8 correspond à la ligne de version. Qu'est-ce qui ne va pas ici? Au fait, j'utilise Ubuntu 12.04 ici.

57
andandandand

Changement

application:climate-change

à

application: climate-change

L'espace après les deux points est obligatoire dans yaml. (Voir http://www.yaml.org/spec/1.2/spec.html#id275996 )

80
Dave W. Smith

Une autre cause est la mauvaise indentation, qui consiste à essayer de créer les mauvais objets. Je viens d'en fixer un dans une définition de Kubernetes Ingress:

mauvais

- path: / 
    backend: 
      serviceName: <service_name> 
      servicePort: <port> 

Correct

- path: /
  backend:
    serviceName: <service_name>
    servicePort: <port>
45
lcfd

Ou, si l'espacement n'est pas le problème, il peut vouloir le nom du répertoire parent plutôt que le nom du fichier.

Ne pas $ dev_appserver helloapp.py
Mais $ dev_appserver hello/

Par exemple:

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
5
John Mee

Cela aidera peut-être quelqu'un d'autre, mais j'ai constaté cette erreur lorsque le mappage RHS contient deux points sans guillemets, tels que:

someKey: une autre clé: Changer pour faire aujourd'hui: travailler plus

devrait être

someKey: une autre clé: "Changer pour faire aujourd'hui: travailler plus"

1
Joe