gpt4 book ai didi

amazon-web-services - lambda 层是否包含 aws-sdk

转载 作者:行者123 更新时间:2023-12-04 02:42:30 25 4
gpt4 key购买 nike

我正在使用无服务器框架以及 lambda 层和一些 lambdas 函数。为了支持某些功能,我必须包含 aws-sdk。

aws-sdk 的 lambda 层大小为 80MB,而 aws-sdk 单独占用 40MB。

我所知道的是 Lambda 函数默认包含 aws-sdk。但这是否也意味着 lambda 层?

笔记

  • 我尝试删除 aws-sdk 并部署,而 lambda 函数显示
    错误“找不到模块 aws-sdk”
  • NODE_PATH: "./:/opt/node_modules"包含在 serverless.yml 中(这是否会导致 aws-sdk 默认不包含在内)?
  • 运行时为 nodejs10.x
  • 最佳答案

    Lambda 层使您能够将额外的代码和内容提取到 AWS Lambda 函数的执行环境中。

    默认情况下,Node.js Lambda 运行时环境为您提供 AWS JavaScript 开发工具包的一个版本。但作为最佳实践,实际上,因为您可能希望使用最新版本的开发工具包的更新功能,这些功能不属于自动包含在 Lambda 执行环境中的版本,您可以打包所需的 AWS JavaScript 开发工具包版本稍后进入 Lambda,以便它覆盖执行环境中存在的 SDK 版本。

    就是这样:

    mkdir lambda-layer
    cd lambda-layer/
    npm install aws-sdk
    mkdir nodejs
    mv node_modules/ nodejs/
    zip -r aws-sdk.zip nodejs/

    aws lambda publish-layer-version --layer-name aws-sdk --zip-file fileb://aws-sdk.zip --compatible-runtimes nodejs10.x --description "My AWS SDK"

    根据 aws lambda publish-layer-version 的输出报告,此 Lambda 层的大小为 6.1 兆字节。多于。

    关于amazon-web-services - lambda 层是否包含 aws-sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58703761/

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