我在我的 terraform 代码中使用 data external 和 data local_file 。data external 执行脚本并创建 json 文件。现在我的数据 local_file 必须读取 json 文件。
data "external" "example" {
program = ["python", "XXXXX.py", "${var.fileName}"]
}
data "local_file" "dashboard" {
filename = "${path.module}/dashboardData.json"
}
Run Code Online (Sandbox Code Playgroud)
这里的数据 local_file 依赖于 json 文件的外部数据。
周围有工作吗?
如果您的外部数据源输出文件名,您可以使用 Terraform 的插值来强制两个数据源之间的依赖关系。
python XXXXX.py fileName因此,假设给出或类似的输出{"filename": "dashboardData.json"},那么你可以使用类似这样的东西:
data "external" "example" {
program = ["python", "XXXXX.py", "${var.fileName}"]
}
data "local_file" "dashboard" {
filename = "${path.module}/${data.external.example.result.filename}"
}
Run Code Online (Sandbox Code Playgroud)
由于local_file数据源现在引用了external数据源,因此它将强制 Terraform 等待external数据源完成。
另一种方法是使用以下方法在它们之间设置显式依赖关系depends_on:
data "external" "example" {
program = ["python", "XXXXX.py", "${var.fileName}"]
}
data "local_file" "dashboard" {
filename = "${path.module}/dashboardData.json"
depends_on = [data.external.example]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22504 次 |
| 最近记录: |