发布于: Nov 20, 2020
您现在可以同时使用 Amazon Lambda 与您喜欢的操作工具的 Extensions,用于监控、可观察性、安全性和治理。
通过减少操作开销,Lambda 使开发人员和操作人员轻松专注其业务需求。为了帮助客户运行其函数,Lambda 通过 Amazon CloudWatch 为日志和指标提供本地集成,通过 Amazon X-Ray 进行跟踪,通过 Amazon Config 跟踪配置更改,并通过 Amazon CloudTrail 记录 API 调用。然而,在以前,想要使用非 亚马逊云科技产品的客户告诉我们,将 Lambda 与其他操作工具集成起来十分复杂。
Extensions 是一种新方式,可以更轻松地将工具深入地集成到 Lambda 执行环境中,从而控制和参与 Lambda 的生命周期。它们使用 Extensions API(一种新的 HTTP 接口)注册生命周期事件,并在函数初始化、调用和关闭期间获得更大的控制权。它们还可以使用环境变量向运行时添加选项和工具,或使用包装程序脚本来自定义运行时启动行为。
可以将来自 亚马逊云科技、第三方供应商和开源项目的 Extensions 用于各种用例。例如,您可以通过自动检测 Lambda 函数而无需进行代码更改,或者通过独立于代码更改来部署操作工具,简化开发工作流。此外,您可以通过在执行函数处理程序之前预获取配置和密钥来提高函数的性能,或者将遥测发送到函数调用之外的自定义目标。日志记录代理等工具的 Extensions 也可以使用新的 Amazon Lambda Runtime Logs API(预览版),直接从 Lambda 执行环境中订阅日志流,然后对其进行处理、筛选,再将其发送到任何首选目的地。
Extensions 与 Lambda 函数使用相同的计费模式。将 Lambda 函数与扩展一起使用时,您需要为服务的请求,以及用于运行代码和所有扩展的合并计算时间付费(以 100 毫秒为增量)。要了解有关 Extensions 计费的更多信息,请访问 Lambda 常见问题解答页面。
您可以通过 Lambda 控制台、CLI,或 CloudFormation、Amazon Serverless Application Model 和 Terraform 等基础设施即代码工具,使用 Layers 部署 Extensions。您也可以构建自己的 Extensions。要了解如何使用 Extensions API 构建 Extensions,请访问 Amazon Lambda 开发人员指南。