如何在本地计算机上模拟 AWS Parameter Store 进行 lambda 函数开发?

How to emulate AWS Parameter Store on local computer for lambda function development?

我正在使用无服务器框架和 NodeJS 来开发我的 AWS Lambda 函数。到目前为止,我已经使用 .env 文件来存储我的秘密。所以,我可以像这样在 serverless.yml 中访问它们

provider:
  ...
  environment:
    DB_HOST: ${env:DB_HOST}
    DB_PORT: ${env:DB_PORT}

但现在我需要使用 AWS Parameter Store 而不是 .env 文件。我试图找到有关如何在我的本地计算机上模拟它的信息,但我找不到。

我想,我必须在本地和暂存上使用一个无服务器配置文件。我需要一种方法 select 以某种方式从 .env 文件(如果它是本地机器)或从 Parameter Store(如果它是 AWS Lambda)环境值。有什么办法吗?谢谢!

它应该像这样工作:在您的 serverless.yml 中,您可以使用 ${env:keyname} 引用 .env 参数,并使用 ${param:keyname} 语法引用 AWS 参数。

如果你需要同时支持它们你只需要写${env:keyname, param:keyname}.

这是一个例子:

provider:
  ...
  environment:
    ALLOWED_ORIGINS: ${env:ALLOWED_ORIGINS, param:ALLOWED_ORIGINS}
    AUTHORIZER_ARN: ${env:AUTHORIZER_ARN, param:AUTHORIZER_ARN}
    MONGODB_URL: ${env:MONGODB_URL, param:MONGODB_URL}