variables - 为 AWS Lambda 函数使用 Count 时构建 Terraform 自定义变量
问题描述
我正在尝试为 Lambda 函数生成一个变量,该变量基于使用 Terraform 同时创建的 API 网关的设置。我正在使用 trimprefix 和 trimsuffix 修改从 api 网关获得的设置,然后我将其设置为环境变量以供 Lambda 函数代码使用。
我最初使用的是输出语句,因为我最初使用的是模块。从那以后,我决定远离模块以简化代码。但是,我真正的问题是,当我还使用计数功能时,如何执行 trimprefix 和 trimsuffix 操作。
这是我还在使用模块时的原始代码,它在从头开始修剪“https://”和从末尾修剪“/default”后成功创建了最终的“invoke_url”。
## Obtain the rest_api_id
output "rest_api_id" {
value = aws_api_gateway_deployment.retaildiscount[count.index].rest_api_id
}
## Trim the https prefix from the invoke URL and store in var.invoke_url_tmp
output "invoke_url_tmp" {
value = trimprefix(aws_api_gateway_deployment.retaildiscount[count.index].invoke_url, "https://")
}
## Trim the /default suffix from var.invoke_url_tmp and output as var.invoke_url to be used
## by the retailorderprice function
output "invoke_url" {
value = trimsuffix(var.invoke_url_tmp, "/default")
}
我现在正在尝试做同样的事情,但是当使用“计数”创建相同 Lambda 函数和 API 网关的多个副本时(这是为实验室风格的研讨会创建多个实例,每个函数都将具有一个从aito.tfvars 文件
对于我的一生,我无法弄清楚如何生成修改后的变量并将其链接回适当的函数
解决方案
推荐阅读
- node.js - LoopBack 4 - 在 API 资源管理器中添加“授权”按钮
- rest - 在 Bot Framework 中外部 API 调用成功时发送消息
- python - ParseError:格式不正确(无效标记):第 47 行,第 27 列
- c++ - 无法从另一个函数访问指针数组
- angular - RxJS 嵌套订阅
- javascript - 异步 setTimeout 阻止快速处理,直到 res.send 发生
- java - spring 应用程序中的 CORS 策略阻止了来自 Angular 应用程序的请求
- django - 在 Django 中,如何从另一个模板引用一个模板?
- javascript - 将 JQuery 放在 React 组件中的什么位置?
- autohotkey - 是否可以使用两个键,一个在 AutoHotKey (AHK) 脚本中执行一个功能