繁体   English   中英

如何在 aws terraform 中的步骤 function 中动态引用 lambda function arn?

[英]How to dynamically reference a lambda function arn inside step function in aws terraform?

我正在使用现有模块创建 lambda function。 目前我参考步骤 function 定义 json 文件中的 static arn。 我需要动态地引用它,即在运行时无论 arn 创建什么。 这是代码:

module "student_lambda"{
source = git@github...// Some git repo
//Other info like vpc, runtime, memory, etc
}

我如何在步骤 function 的 json 文件中引用这个 student_lambda arn?

这是 json 文件片段

"Student lambda response": {
"Type":"Task",
"Resource":"arn:aws:states:::lambda:invoke",
"Parameters":{
"Payload"......// Generic code
"FunctionName":"arn:aws:lambda:us-east-2:..."// Here I want to use something like Student_Lmabda.arn


}}

注意:模块在 main.tf 文件中声明。 步骤 function json 文件在另一个文件夹中。

我假设文件结构是这样的。

=====================

  • 主程序
  • 变量.tf
  • 包含 json/ -json 文件的文件夹
  • 模块

=====================

为了让我们实现这一点,我们可以在模块中的 output.tf 文件中创建一个 output lambda function。

    output "lambda_arn" {
        value = aws_lambda.<name of the lambda fn>.arn
    }

完成后,我们可以使用引用变量

"Student lambda response": {
"Type":"Task",
"Resource":"arn:aws:states:::lambda:invoke",
"Parameters":{
"Payload"......
"FunctionName":"${module.student_lambda.lambda_arn}"
}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM