如何使用无服务器框架通过AWS Lambda函数环境变量访问SSM参数存储值?

布兰登·米勒

因此,我已经将lambda函数的.yaml文件配置为:

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: An AWS Serverless Specification template describing your function.
Resources:
  NewUser:
    Type: 'AWS::Serverless::Function'
    Properties:
      Handler: NewUser/index.handler
      Runtime: nodejs8.10
      Environment:
        Variables:
          database_encrypt: ${ssm:databaseEncrypt}
          database_password: ${ssm:databasePassword}
          database_server: '8.8.8.8'
          database_user: ${ssm:databaseUser}
          database_version: ${ssm:databaseVersion}
      Description: ''
      MemorySize: 128
      Timeout: 15
      Role: 'arn:aws:iam::663404525923:role/LambdaRole'
      Events:
        LambdaMicroservice:
          Type: Api
          Properties:
            Path: /User/NewUser
            Method: ANY

我的lambda函数如下所示:

var config = {  
  user: process.env.database_user,  
  password: process.env.database_password,  
  server: process.env.database_server,
  database: process.env.database_version,
  options: {encrypt: true}  
};

class UserService {

    constructor(){
        console.log(config);
        console.log("test test test");
        this.connectionPool = new sql.connect(config);
    }
}

并且我可以很好地访问硬编码的database_server值,但是$ {ssm:[myParam]}命令被解释为字符串,而不是遵循路径并访问SSM参数存储中存储的值。

我看到的大多数示例都具有指向它们的SSM Params的漫长路径,但是由于我只是试图表明以这种方式完全可以访问SSM Param,因此我试图使其尽可能地简单。我还假设$ {ssmm:[]}命令根本没有转义,因为如果在定义的路径中未找到SSM Param,我希望返回一个未定义的值。

塞思E

SAM是CloudFormation的超集,因此CloudFormation命令应该可以使用

      Environment:
        Variables:
          database_encrypt: '{{resolve:ssm-secure:databaseEncrypt:1}}' 
          database_password: '{{resolve:ssm-secure:databasePassword:1}}' 

参见https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用无服务器框架时如何从AWS Lambda访问DynamoDB?

来自分类Dev

如何引用使用无服务器框架创建的Arn和AWS lambda函数的名称

来自分类Dev

使用无服务器,如何在AWS lambda函数中将秘密密钥添加为环境变量?

来自分类Dev

如何使用适用于AWS Lambda的无服务器框架获取最新的Layer版本

来自分类Dev

AWS SSM的Lambda环境变量

来自分类Dev

通过结合使用无服务器框架和AWS,Sequelize的自动生成的表别名会根据环境(脱机与Lambda)而有所不同。

来自分类Dev

如何在无服务器框架中将AWS账户ID作为自定义变量?

来自分类Dev

使用graphql,aws lambda和无服务器框架的多个URL路径选项错误

来自分类Dev

使用无服务器框架(AWS Lambda / Gateway),Express,Mongoose / MongoDB Atlas的应用频繁超时

来自分类Dev

AWS Lambda:通过无服务器框架部署时,“ ELF加载命令地址/偏移未正确对齐”

来自分类Dev

在无服务器框架中使用路径参数

来自分类Dev

在无服务器中如何将cmd参数回退到环境变量以默认值?

来自分类Dev

如何在无lambda的无服务器框架配置(适用于AWS)中实现重定向(301代码)模拟

来自分类Dev

psycopg2不适用于AWS Lambda上的无服务器框架部署

来自分类Dev

如何将端点路径设置为我的Google Cloud函数(使用无服务器框架)

来自分类Dev

如何在无服务器框架中将托管策略附加到lambda函数

来自分类Dev

在AWS账户中搜索所有AWS Lambda函数的环境变量的值

来自分类Dev

如何将带有无服务器框架的AWS Lambda的查询请求发送到AppSync GraphQL API?

来自分类Dev

在无服务器框架1.0中使用路径参数

来自分类Dev

无服务器框架lambda执行角色不匹配?

来自分类Dev

无服务器框架Python lambda直接返回JSON

来自分类Dev

无服务器框架-无法识别的属性“参数”

来自分类Dev

无服务器框架TypeError:e不是函数

来自分类Dev

无服务器-如何在AWS Lambda函数中定期运行Flask命令?

来自分类Dev

AWS CodeBuild无法打印参数存储环境变量

来自分类Dev

解析服务器:如何使用环境变量

来自分类Dev

无服务器脱机不带环境变量

来自分类Dev

无服务器.yml环境变量问题

来自分类Dev

AWS Lambda和API Gateway是否不使用服务器?为什么将它们称为“无服务器”?

Related 相关文章

  1. 1

    使用无服务器框架时如何从AWS Lambda访问DynamoDB?

  2. 2

    如何引用使用无服务器框架创建的Arn和AWS lambda函数的名称

  3. 3

    使用无服务器,如何在AWS lambda函数中将秘密密钥添加为环境变量?

  4. 4

    如何使用适用于AWS Lambda的无服务器框架获取最新的Layer版本

  5. 5

    AWS SSM的Lambda环境变量

  6. 6

    通过结合使用无服务器框架和AWS,Sequelize的自动生成的表别名会根据环境(脱机与Lambda)而有所不同。

  7. 7

    如何在无服务器框架中将AWS账户ID作为自定义变量?

  8. 8

    使用graphql,aws lambda和无服务器框架的多个URL路径选项错误

  9. 9

    使用无服务器框架(AWS Lambda / Gateway),Express,Mongoose / MongoDB Atlas的应用频繁超时

  10. 10

    AWS Lambda:通过无服务器框架部署时,“ ELF加载命令地址/偏移未正确对齐”

  11. 11

    在无服务器框架中使用路径参数

  12. 12

    在无服务器中如何将cmd参数回退到环境变量以默认值?

  13. 13

    如何在无lambda的无服务器框架配置(适用于AWS)中实现重定向(301代码)模拟

  14. 14

    psycopg2不适用于AWS Lambda上的无服务器框架部署

  15. 15

    如何将端点路径设置为我的Google Cloud函数(使用无服务器框架)

  16. 16

    如何在无服务器框架中将托管策略附加到lambda函数

  17. 17

    在AWS账户中搜索所有AWS Lambda函数的环境变量的值

  18. 18

    如何将带有无服务器框架的AWS Lambda的查询请求发送到AppSync GraphQL API?

  19. 19

    在无服务器框架1.0中使用路径参数

  20. 20

    无服务器框架lambda执行角色不匹配?

  21. 21

    无服务器框架Python lambda直接返回JSON

  22. 22

    无服务器框架-无法识别的属性“参数”

  23. 23

    无服务器框架TypeError:e不是函数

  24. 24

    无服务器-如何在AWS Lambda函数中定期运行Flask命令?

  25. 25

    AWS CodeBuild无法打印参数存储环境变量

  26. 26

    解析服务器:如何使用环境变量

  27. 27

    无服务器脱机不带环境变量

  28. 28

    无服务器.yml环境变量问题

  29. 29

    AWS Lambda和API Gateway是否不使用服务器?为什么将它们称为“无服务器”?

热门标签

归档