如何在Lambda中只包含一个来自aws-sdk的类

Tyl*_*ler 1 amazon-web-services node.js amazon-dynamodb aws-lambda

为了改善AWS Lambda中的冷启动延迟,我试图仅为每个Lambda函数包含必要的类.而不是包含整个SDK,我如何只包含SDK的DynamoDB部分?

// Current method:
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB();

// Desired method:
var AWSdynamodb = require('aws-dynamodb-sdk');
Run Code Online (Sandbox Code Playgroud)

Lor*_*gal 7

简短的回答是:你不需要这样做.

AWS SDK for JavaScript使用动态需求来加载服务.换句话说,定义了类,但是只在实例化服务对象时才加载API数据,因此在整个包中没有CPU开销.

唯一可能的成本来自磁盘空间使用(和下载时间),但请注意Lambda已经将aws-sdk软件包捆绑在一端,因此没有下载时间,并且您实际上通过使用可用的SDK软件包来减少磁盘空间从Lambda比使用定制的东西.