node.js - 如何编写具有 Node 依赖性的内联 lambda 代码?

标签 node.js amazon-web-services aws-lambda aws-cloudformation

我从 aws 控制台创建了一个 lambda 函数(见下文)。这是一个简单的函数,返回 5-100 之间的随机数。有用。我使用 node_modules 创建了 zip 文件并上传了该文件,因为它有一些依赖项。如果我想移动这个 lamda 代码,它依赖于内联 cloudformation 模板,这可能吗?

var moment = require('moment');

exports.handler = (event, context, callback) => {
  
  var randomNumber = Math.floor(Math.random() * (100- 5+ 1)) + min;
  
  callback(null, randomNumber + ' generated at ' + moment().format());
};

云信息模板

Description: learning lambda

  somelambdaexample:
    Type: AWS::Lambda::Function
    Properties:
      Description: process a signal
      Role: someRole
      Code:
        ZipFile: !Sub |
          exports.handler = function(event, context, callback) {
          
          
          };
      Timeout: 30
      Runtime: nodejs12.x
   

最佳答案

如果您想将依赖项与 lambda 捆绑在一起,您有两个选择:

  1. 使用 dependencies 创建部署包 ,并将其上传到S3。然后在CloudFormation中,您可以specify S3中包的S3BucketS3Key
  2. 或创建 AWS::Lambda::LayerVersion和你的依赖。然后在您的 lambda 函数模板中,您可以使用 Layers 链接到该层。属性(property)。通过使用图层,您可以像现在一样使用 Code: ZipFile内联函数代码

那么,回答你的问题:

if i wanted to move this lamda code, which has dependencies to inline cloudformation template, will it be possible?

是的,使用图层可以

关于node.js - 如何编写具有 Node 依赖性的内联 lambda 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62766683/

相关文章:

amazon-web-services - AWS ELB 根据子域进行不同的路由

linux - 在AWS ec2上安装ejabberd

node.js - Couchbase 多服务器设置问题

python - 在 Lambda 中读取 AWS S3 CSV 列名

node.js - 连接到 Azure 移动服务上托管的 Socket.IO 服务器返回错误

node.js - 将 multipart/form-data 请求通过管道传输到另一个请求,同时更改 Node.js 中的某些字段名称

javascript - 为什么我的 NodeJS Web 服务器不从我的目录中获取文件?

javascript - 如何使用 Node.js 模块?

node.js - 如何使用 node.js aws-sdk、cloudwatch 和 lambda 函数安排调用 API

amazon-web-services - Lambda 的最终角色定义中的可信实体是什么?