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

标签 node.js amazon-web-services aws-lambda serverless-framework aws-parameter-store

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

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

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

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

最佳答案

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

如果你需要同时支持它们你只需要写${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}

关于node.js - 如何在本地计算机上模拟 AWS Parameter Store 进行 lambda 函数开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68189184/

相关文章:

amazon-web-services - 如何在Go AWS Lambda函数中访问参数

amazon-web-services - 如何使用 SAM local generate event with queryparameters 生成事件?

javascript - 如何在node-tap中使用beforeEach?

node.js - AWS 弹性 beanstalk 部署失败并出现 ENOMEM 错误

node.js - 如何关闭 ChromeDriver 服务?

iis - 在 AWS 弹性负载均衡器后面时无法使 IIS ipsecurity 正常工作

amazon-web-services - "Invalid ELF header"在 AWS Lambda 上使用 libxmljs

javascript - WebDriver NodeJS 使用功能实例化 IE 驱动程序 : introduceFlakinessByIgnoringProtectedModeSettings(ignoreSettings)

amazon-web-services - .NET Core API Gateway (AWS) 如何设置依赖注入(inject) (DI) 以使用 MemCached .NET Core 包、基于 DI 的记录器等

amazon-web-services - 如何使用 DynamoDB 执行有序查询?