如何将粘合作业从一个模块导入到 Terraform 中的另一个模块?
How to import glue job from one module to another module in terraform?
我在模块 A 中定义了一个 Glue 作业资源,现在我想导入它并使用模块 B 中的作业名称,我该如何实现?
我在模块 B 中尝试了类似的东西:
variable "example_glue_name" {
type = string
}
data "aws_glue_job" "example_glue_name" {
example_glue_name = var.example_glue_name
}
然后:
module "B"{
source = .....
...
example_glue_name = module.A.example_glue_name
}
但我收到错误:Unsupported argument, │ An argument named "example_glue_job_name" is not expected here.
,我在这里阅读了文档:https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/glue_script
好像terraform不支持data "aws_glue_job"
,只有data "aws_glue_script"
之类的东西,但不清楚如何引用胶水名称....
有人知道这样做的正确方法是什么吗?谢谢。
没有名为 aws_glue_job
的数据源。唯一存在的是 aws_glue_script. You would have to create external data source which would required custom script in bash, for instance, as shown in docs.
该脚本将使用 AWS CLI get-job 查询 AWS Glue 以获得感兴趣的作业,并将其详细信息return 提供给您的 TF 脚本以供将来处理。
但是如果模块 A 创建了一个作业,那么它应该 output
它。一旦它的输出,你可以引用作为模块 B 的输入。
我在模块 A 中定义了一个 Glue 作业资源,现在我想导入它并使用模块 B 中的作业名称,我该如何实现?
我在模块 B 中尝试了类似的东西:
variable "example_glue_name" {
type = string
}
data "aws_glue_job" "example_glue_name" {
example_glue_name = var.example_glue_name
}
然后:
module "B"{
source = .....
...
example_glue_name = module.A.example_glue_name
}
但我收到错误:Unsupported argument, │ An argument named "example_glue_job_name" is not expected here.
,我在这里阅读了文档:https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/glue_script
好像terraform不支持data "aws_glue_job"
,只有data "aws_glue_script"
之类的东西,但不清楚如何引用胶水名称....
有人知道这样做的正确方法是什么吗?谢谢。
没有名为 aws_glue_job
的数据源。唯一存在的是 aws_glue_script. You would have to create external data source which would required custom script in bash, for instance, as shown in docs.
该脚本将使用 AWS CLI get-job 查询 AWS Glue 以获得感兴趣的作业,并将其详细信息return 提供给您的 TF 脚本以供将来处理。
但是如果模块 A 创建了一个作业,那么它应该 output
它。一旦它的输出,你可以引用作为模块 B 的输入。