gpt4 book ai didi

amazon-web-services - AWS Javascript SDK 仅安装特定模块而不是整个 SDK

转载 作者:行者123 更新时间:2023-12-04 01:43:55 25 4
gpt4 key购买 nike

我在我的项目中使用 Lambda 函数(Nodejs 运行时)并使用 aws-sdk 中的一些模块.

到目前为止,我已经安装了整个 aws-sdk我要求每个包分别像这样:

const ApiGatewayManagementApi = require('aws-sdk/clients/apigatewaymanagementapi');

这可行,但问题是我需要安装整个 aws-sdk,它很大,因此使我的功能包很大。

有没有办法只安装我实际使用的模块?

我试过这个:
$ npm install aws-sdk/clients/apigatewaymanagementapi --save

这给了我以下错误:
npm ERR! code ENOLOCAL
npm ERR! Could not install from "aws-sdk/clients/apigatewaymanagementapi" as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/gustavocsdc/.npm/_logs/2019-05-16T02_32_28_129Z-debug.log

最佳答案

遗憾的是,对于 AWS JavaScript SDK 的当前版本 (2.x),这是不可能的。有一个新的AWS SDK for JavaScript V3正在准备解决此问题,但仍处于“开发人员预览”(2019 年 5 月 16 日)中。

同时,鼓励您安装完整的 aws-sdk用于您的 JavaScript Lambda 函数。 Lambda Application Best Practices指出:

Control the dependencies in your function's deployment package. The AWS Lambda execution environment contains a number of libraries such as the AWS SDK for the Node.js and Python runtimes (a full list can be found here: AWS Lambda Runtimes). To enable the latest set of features and security updates, Lambda will periodically update these libraries. These updates may introduce subtle changes to the behavior of your Lambda function. To have full control of the dependencies your function uses, we recommend packaging all your dependencies with your deployment package.



可以看出,如果您愿意做出上述权衡,那么将 sdk 包含在 Lambda 包中(从而减小其大小)并不是一个严格的要求。您可能考虑提供 aws-sdk 的另一个原因作为您的软件包的一部分,您希望使用的最新版本的 sdk 中可能有一个新功能,但运行时提供的 sdk 中不存在该功能。

为了完整起见, nodejs10.x运行时提供版本 2.437.0aws-sdknodejs8.10运行时提供版本 2.290.0 aws-sdk根据 AWS Lambda Runtimes .

关于amazon-web-services - AWS Javascript SDK 仅安装特定模块而不是整个 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56160003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com