首页 > 解决方案 > 如何将自定义 AWS 开发工具包与 nodejs 一起使用?

问题描述

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

AWS 有一个自定义 sdk 构建器,它应该制作一个仅包含所需软件包的自定义 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)

标签: node.jsaws-sdk

解决方案


现在可以使用适用于 JavaScript v3 的 AWS 开发工具包

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

npm install @aws-sdk/client-s3

将它们用作:

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

推荐阅读