如何将自定义AWS开发工具包与Node.js一起使用?

时间:2019-05-24 17:32:55

标签: node.js aws-sdk

我想制作一个使用AWS开发工具包的nodejs应用程序。但是,它实际上只需要使用S3,并且我希望该应用程序具有较小的文件大小。

AWS有一个custom sdk builder,它应该仅使用必需的软件包制作一个自定义SDK。不幸的是,即使我选择了所有服务,这也不起作用。如何制作可与节点配合使用的自定义SDK?

我已经尝试过使用npm install aws-sdk,并且可以使用,但是40MB。我还尝试过选择服务构建器中的所有服务(只有3MB),但这是行不通的。

它总是在此行出现错误:

var aws = require("./aws-sdk-2.462.0.min.js");
ReferenceError: AWS is not defined
    at Object.<anonymous> (/home/cwaugh/workspaces/meta-lambda/aws-sdk-2.462.0.min.js:7:30180)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/cwaugh/workspaces/meta-lambda/handler.js:5:11)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)

2 个答案:

答案 0 :(得分:0)

那是浏览器SDK。对于节点,您可以使用this模块,该模块仅提供一个S3客户端。该页面上有一个清晰的示例,显示了如何使用此自定义SDK调用putObject。

针对各种AWS服务,有许多不同的单独模块。您可以找到更多信息here

答案 1 :(得分:0)

现在可以使用 AWS SDK for JavaScript v3

您可以只安装所需的软件包,如下所示:

npm install @aws-sdk/client-s3

将它们用作:

const {S3} = require('@aws-sdk/client-s3');