无服务器 lambda 全局环境变量

Jam*_*mes 2 amazon-web-services aws-lambda serverless-framework serverless

我正在使用无服务器,并且试图弄清楚如何重写此 serverless.yml 文件,这样我就不会重复每个函数的环境变量。有没有办法全局设置环境变量?

service: test-api
frameworkVersion: ">=1.2.0 <2.0.0"
provider:
  name: aws
  runtime: nodejs12.x
  timeout: 30
  stage: dev
  memorysize: 2048
  region: us-east-2
  logRetentionInDays: 21

functions:
  doCreate:
    handler: functions/do-create.handler
    environment:
      DB_PORT: ${ssm:/${self:custom.stage}/db_port}
      DB_URL: ${ssm:/${self:custom.stage}/db_url}
      API_KEY: ${ssm:/${self:custom.stage}/api_key}
      ENV: "${self:custom.stage}"
      SEARCH_ARN: ${ssm:/${self:custom.stage}/search_arn}
  doUpdate:
    handler: functions/do-update.handler
    environment:
      DB_PORT: ${ssm:/${self:custom.stage}/db_port}
      DB_URL: ${ssm:/${self:custom.stage}/db_url}
      API_KEY: ${ssm:/${self:custom.stage}/api_key}
      ENV: "${self:custom.stage}"
      SEARCH_ARN: ${ssm:/${self:custom.stage}/search_arn}
Run Code Online (Sandbox Code Playgroud)

das*_*mug 5

您只需将它们移动到该provider部分即可。它们将应用于同一服务中的所有功能。

service: test-api
frameworkVersion: ">=1.2.0 <2.0.0"
provider:
  name: aws
  runtime: nodejs12.x
  timeout: 30
  stage: dev
  memorysize: 2048
  region: us-east-2
  logRetentionInDays: 21
  environment:
    DB_PORT: ${ssm:/${self:custom.stage}/db_port}
    DB_URL: ${ssm:/${self:custom.stage}/db_url}
    API_KEY: ${ssm:/${self:custom.stage}/api_key}
    ENV: "${self:custom.stage}"
    SEARCH_ARN: ${ssm:/${self:custom.stage}/search_arn}
functions:
  doCreate:
    handler: functions/do-create.handler
  doUpdate:
    handler: functions/do-update.handler
Run Code Online (Sandbox Code Playgroud)