可以从 lambda 函数引用变量吗?

Possible to reference variables from lambda functions?

是否可以引用 serverless.yml 中定义的变量?

例如在 Node lambda 中,类似于:

writeToDynamoDb(${self:custom.dynamoDbTableName})

我正在使用 serverless-webpack 插件。

不确定我的理解是否正确,不需要额外的无服务器插件来完成这项工作。

使用 nodejs 作为示例。

假设您在 serverless.yml

中有以下设置
custom: 
  dynamoDbTableName: myDB

然后将环境变量dynamoDbTableName定义为serverless.yml

中的一个lambda函数
functions:
  createTodos:
    handler: handler.create
    environment:
      dynamoDbTableName: ${self:custom.dynamoDbTableName}
    events:
      - http:
          path: todos
          method: post
          cors: true

那么你应该可以在handler.js中通过以下方式引用这个变量:

const dynamodb =  process.env.dynamoDbTableName