AWS Lambda Layers 终极指南:如何用 awesome-layers 加速无服务器开发

【免费下载链接】awesome-layers λ A curated list of awesome AWS Lambda Layers. Sponsored by https://cloudash.dev 【免费下载链接】awesome-layers 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-layers

AWS Lambda Layers 是一种可包含任意代码和数据的新型构件,可被多个函数同时引用,实现跨函数共享通用依赖,如 SDK、框架和运行时,大幅提升无服务器开发效率。awesome-layers 作为精选的 AWS Lambda Layers 列表,汇集了丰富的现成图层资源,能帮助开发者快速构建高效的无服务器应用。

什么是 Lambda Layers?

Lambda Layers 是 AWS Lambda 提供的一种代码共享机制,允许开发者将通用的代码和依赖打包成图层,供多个 Lambda 函数重复使用。这不仅减少了函数代码的体积,还便于集中管理和更新共享组件,是无服务器开发中的重要优化手段。

Lambda Layers 是一种新型的构件,可以包含任意代码和数据,并且可以同时被零个、一个或多个函数引用。无服务器应用中的 Lambda 函数通常共享诸如 SDK、框架等常见依赖,现在运行时也可以共享。通过图层,您可以跨多个函数集中管理通用组件,实现更好的代码复用。

— https://aws.amazon.com/about-aws/whats-new/2018/11/aws-lambda-now-supports-custom-runtimes-and-layers/

如何创建和使用 Lambda Layers?

多种创建方式

  1. 使用 Serverless Framework:通过 Serverless Framework 可以轻松创建和发布 Lambda Layers,简化配置和部署流程。
  2. 使用 SAM:AWS Serverless Application Model (SAM) 提供了定义 LayerVersion 的模板语法,方便集成到 SAM 应用中。
  3. 使用 AWS 控制台:通过 AWS 管理控制台直观地创建和管理 Lambda Layers,适合初学者操作。
  4. 使用 AWS CLI:通过命令行工具可以自动化创建和管理图层,适合集成到 CI/CD 流程中,例如 tutorial
  5. 使用 Stackery:Stackery 提供了可视化的方式来创建和管理 Lambda Layers,进一步简化开发流程。

快速使用步骤

  1. 从 awesome-layers 中选择合适的图层,获取其 ARN 或链接。
  2. 在创建或编辑 Lambda 函数时,添加该图层的 ARN。
  3. 函数即可直接使用图层中包含的代码和依赖,无需重复打包和部署。

如何共享 Lambda Layers 公开?

公开共享方法

要公开共享 Lambda Layers,可以参考 Tutorial with CLI examples。通过 AWS CLI 可以将图层设置为公开访问,让其他开发者能够方便地引用和使用您创建的图层,促进社区共享和协作。

awesome-layers 精选图层分类

运行时(Runtimes)

Name ARN / Link Compatible Runtimes Latest Version
C++ (official) Link: awslabs/aws-lambda-cpp provided Self publish
Rust (official) Link: awslabs/aws-lambda-rust-runtime provided Self publish
Bash ARN: arn:aws:lambda:<region>:744348701589:layer:bash:<version>
Link: gkrizek/bash-lambda-layer
provided bash
Node.js v12 ARN: arn:aws:lambda:<region>:553035198032:layer:nodejs12:<version>
Link: lambci/node-custom-lambda
provided nodejs12
Python 3.8 可通过 keithrozario/Klayers 获取,包含 requests 等常用 Python 包 python3.8 ...

实用工具(Utilities)

Name ARN / Link Compatible Runtimes Latest Version
AWS CLI Link: aws-samples/aws-lambda-layer-awscli all Self publish
FFmpeg/FFprobe ARN: arn:aws:lambda:us-east-1:145266761615:layer:ffmpeg:4
Link: serverlesspub/ffmpeg-aws-lambda-layer
all Self publish
Git + SSH ARN: arn:aws:lambda:<region>:553035198032:layer:git:<version>
Link: lambci/git-lambda-layer
all git
OpenAI Link: erenyasarkurt/OpenAI-AWS-Lambda-Layer
OpenAI Python packages and the required dependencies
python3.7 python3.8 python3.9 Self publish

监控(Monitoring)

Name ARN / Link Compatible Runtimes Latest Version
Datadog ARN: arn:aws:lambda:<region>:464622532012:layer:Datadog-Python37:1
Link: Datadog's Lambda Layer
python2.7, python3.6, python3.7, Datadog-Python27 Datadog-Python36 Datadog-Python37
Lumigo Node ARN: arn:aws:lambda:YOUR-REGION:724777057400:layer:lumigo-node-tracer:<version>
Link: Lumigo Node Layer
nodejs8.10, nodejs10.X lumigo-node-tracer

AWS 官方 Lambda 图层

Name ARN / Link Compatible Runtimes Latest Version
AWSLambdaPowertoolsTypeScript ARN: [arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:18] see documentation
AWSLambdaPowertoolsPythonV2 ARN: [arn:aws:lambda:{region}:017000801446:layer:AWSLambdaPowertoolsPythonV2:42] see documentation
AWS-Parameters-and-Secrets-Lambda-Extension ARN: [arn:aws:lambda:{region}:590474943231:layer:AWS-Parameters-and-Secrets-Lambda-Extension:10] see documentation

如何开始使用 awesome-layers?

要开始使用 awesome-layers 加速您的无服务器开发,只需执行以下步骤:

  1. 克隆仓库:git clone https://gitcode.com/gh_mirrors/aw/awesome-layers
  2. 浏览 README.md 文件,了解图层的分类和详细信息。
  3. 根据您的项目需求,选择合适的图层 ARN。
  4. 在 AWS Lambda 函数配置中添加该图层 ARN,即可享受图层带来的便利。

通过合理利用 awesome-layers 中的资源,您可以显著减少重复劳动,专注于核心业务逻辑的开发,快速构建高效、可维护的无服务器应用。赶快行动起来,体验 Lambda Layers 带来的开发新方式吧! 🚀

【免费下载链接】awesome-layers λ A curated list of awesome AWS Lambda Layers. Sponsored by https://cloudash.dev 【免费下载链接】awesome-layers 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-layers

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐