Zha*_* Yi 8 aws-lambda terraform
当我触发 lambda 函数时,我可以从事件模板中选择一个事件。如何在 terraform 中创建自定义事件模板。我想让开发人员通过从列表中选择这个自定义事件模板来更容易地触发 lambda。
我想在此列表中添加一个事件:
我确实尝试过一些东西并且成功了。我必须警告,这是逆向工程,将来可能随时崩溃,但到目前为止对我来说效果很好。
根据用于测试 lambda 函数的 Amazon 文档,每当为任何 lambda 创建 a 时Shareable Test Event,它都会存储在架构注册表下的新架构下lambda-testevent-schemas。
我利用了这些信息并找出了 AWS 遵循的约定来跟踪事件,以便我可以使用这些约定来使用 terraform 管理资源
_<name_of_lambda_function>-schema,因此,从 terraform 我管理一个名为的新模式_<name_of_lambda_function>-schemaresource "aws_schemas_schema" "my_lambda_shared_events" {
name = "_${aws_lambda_function.my_lambda.function_name}-schema"
registry_name = "lambda-testevent-schemas"
type = "OpenApi3"
description = "The schema definition for shared test events"
content = local.my_lambda_shared_events_schema
}
Run Code Online (Sandbox Code Playgroud)
OpenAPI3。例如=>resource "aws_schemas_schema" "my_lambda_shared_events" {
name = "_${aws_lambda_function.my_lambda.function_name}-schema"
registry_name = "lambda-testevent-schemas"
type = "OpenApi3"
description = "The schema definition for shared test events"
content = local.my_lambda_shared_events_schema
}
Run Code Online (Sandbox Code Playgroud)
terraform 应用后,您应该能够在 AWS 控制台中看到 terraform 托管的可共享事件。
使用此方法时的一些重要问题:
lambda-testevent-schemas是一个特殊的注册表,不能使用 terraform 进行管理,因为它可能会破坏在此 terraform 模块范围之外创建的其他 lambda 函数事件。lambda-testevent-schemas事先可用。您可以在应用模块之前进行检查以创建此注册表,或者为任何随机 lambda 函数创建任何随机可共享事件。这需要为每个账户的每个区域执行一次。EventBridge架构注册表复制 json。| 归档时间: |
|
| 查看次数: |
807 次 |
| 最近记录: |