【问题标题】:Serverless Lambda loading information from separate YAML file无服务器 Lambda 从单独的 YAML 文件加载信息
【发布时间】:2023-03-24 06:49:01
【问题描述】:

我试图将我的环境变量与在我的serverless.yml 文件中直接实现分开,并读到我可以使用单独的 yaml 或 json 文件并使用命令 ${file(./file.yml):property} 从这些文件中提取值,但尽管遵循了这个我收到一条与 environment: 部分相关的错误消息,该部分引用了这些自定义设置值,这使我相信它与我的文件选择有关。

错误信息:

can not read a block mapping entry; a multiline key may not be an implicit key in "/Users/user/Desktop/Projects/lambdas/playground/serverless.yml" at line 18, column 14:
      environment:

serverless.yml(在 stage=dev 中运行,我有问题。如果我在 stage=prod 中运行,则没有问题。):

custom:
  domain:
    dev: ${file(./local-keys.yml):apiKey}
    prod: "domain.com - prod"
  apiKey:
    dev: ""
    prod: "123apikey"

provider:
  name: aws
  runtime: nodejs10.x
  stage: '${opt:stage, 'dev'}'
  environment:
    DOMAIN: ${self:custom.domain.${self:provider.stage}}
    API_KEY: ${self:custom.apiKey.${self:provider.stage}}

local-keys.yml:

apiKey: "THIS IS A TEST"

【问题讨论】:

    标签: aws-lambda serverless-framework


    【解决方案1】:

    我认为这就是您设置舞台的方式。当我运行 sls print -s dev 时,这对我有用

    service: test
    custom:
      domain:
        dev: ${file(./local-keys.yml):apiKey}
        prod: "domain.com - prod"
      apiKey:
        dev: ""
        prod: "123apikey"
    
    provider:
      name: aws
      runtime: nodejs10.x
      stage: ${opt:stage}
      environment:
        DOMAIN: ${self:custom.domain.${self:provider.stage}}
        API_KEY: ${self:custom.apiKey.${self:provider.stage}}
    

    sls print -s dev 输出:

    service: test
    custom:
      domain:
        dev: THIS IS A TEST
        prod: domain.com - prod
      apiKey:
        dev: ''
        prod: 123apikey
    provider:
      stage: dev
      name: aws
      runtime: nodejs10.x
      environment:
        DOMAIN: THIS IS A TEST
        API_KEY: ''
    

    【讨论】:

    • 嗯,我在运行sls print -s dev 时仍然收到同样的错误。我忘了提到我正在离线使用无服务器,但我认为目前这不是问题
    • 当我将阶段从'${opt:stage, 'dev'}' 更改为'dev' 时,它就像你提到的那样工作。你知道什么会使第一次设置不正确吗?到目前为止,我一直在项目中使用它,没有问题
    • 问题是单引号。 '${ }' 应该是 ${ }
    猜你喜欢
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2023-03-12
    • 1970-01-01
    • 2016-02-27
    • 2016-07-04
    相关资源
    最近更新 更多