【发布时间】:2020-11-08 07:57:58
【问题描述】:
如果我想将 Lambda 函数重新分配为 CDK 构造,我有哪些选择?我的意思是指其他人可以在他们的项目中使用的一种构造,它可能定义一个或多个 Lambda 函数。
假设 CDK 构造是用 Typescript 编写的,那么构造本身可以被打包以用于其他用 Typescript 编写的 CDK 项目并通过 npm 重新分发,或者它可以转译成其他 JSII 支持的语言,例如 Python 或 Java 和发布在适当的模块位置,例如 Maven Central 等。
但是,如何通过该 CDK 模块(即 Lambda 触发时将执行的代码)重新分配 Lambda 的实现?
我能想到的选项是:
- 用 JS 或 Python 等语言编写 Lambda,并在 CDK 构造内定义 Lambda 内联。仅限于小型函数并排除使用其他语言(例如 Golang、Rust 或 Java)编写的 Lambda。
- 构造的发布者将 Lambda 实现(作为 zip)保存在 S3 中的某个位置,并在该位置拥有构造点。这意味着发布模块的人将负责托管实施 zip,并假定使用该结构的人信任实施中编写的内容。
- 还有哪些其他可用选项(如果有)?
【问题讨论】:
-
你大概可以看到cdk内部是如何完成的。 CustomResource SdkCall 在底层部署了它自己的 lambda。此外,还有用于日志组生命周期管理的工具,可在后台部署 lambda。
标签: amazon-web-services aws-lambda aws-cdk