ScannerError: mapping values are not allowed here in "config.yaml"?

ScannerError: mapping values are not allowed here in "config.yaml"?

我想为所有项目配置配置一个yaml文件,但是下面这个文件我不能read/parse吗?

这是我收到的错误,我在这里做错了什么?

ScannerError: mapping values are not allowed here
  in "config.yaml", line 7, column 13

appName: test
logLevel: WARN


TESTER:
    ENVIRONMENT: staging
      CONFIG:
        DATABASE:
          HOST: 2123.3123.2112.12
          USERNAME: x
          PASSWORD: y
          DB: Q
        CLASSIFIER:
          IMG_WIDTH: 380
          IMG_HEIGHT: 380
          HOST: 0.0.0.0:3201

问题在于您的 yaml 的缩进。 ENVIRONMENT 与下一行的 CONFIG 相比有不同的缩进。

您可以使用 http://www.yamllint.com or https://codebeautify.org/yaml-validator 等任何在线验证器来验证您的 yaml 文件。

这是有效的 YAML:

appName: test
logLevel: WARN


TESTER:
    ENVIRONMENT: staging
    CONFIG:
        DATABASE:
            HOST: 2123.3123.2112.12
            USERNAME: x
            PASSWORD: y
            DB: Q
        CLASSIFIER:
            IMG_WIDTH: 380
            IMG_HEIGHT: 380
            HOST: 0.0.0.0:3201

更新:
如果你想使用多个配置,那么通常地图列表与下面的名称属性一起使用。
给 NAME 属性是一种好的做法,即使只有一个配置。

appName: test
logLevel: WARN

TESTER:
  - NAME: staging
    ENVIRONMENT: staging
    CONFIG:
      DATABASE:
        HOST: 2123.3123.2112.12
        USERNAME: x
        PASSWORD: 'y'
        DB: Q
      CLASSIFIER:
        IMG_WIDTH: 380
        IMG_HEIGHT: 380
        HOST: '0.0.0.0:3201'
  - NAME: production
    ENVIRONMENT: production
    CONFIG:
      DATABASE:
        HOST: 2123.3123.2112.14
        USERNAME: xP
        PASSWORD: yP
        DB: Q
      CLASSIFIER:
        IMG_WIDTH: 380
        IMG_HEIGHT: 380
        HOST: '0.0.0.0:3201'

this YAML中,他同样使用了deploy

下的两张地图