Terraform 粘合作业无法正确创建

Jon*_*ito 1 terraform aws-glue

我正在使用 terraform,但没有获得正确的参数来创建我的粘合作业。由于我不是 terraform 专业人士(我开始),我想知道它是如何工作的。

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/glue_job#glue_version

我没有使用这些参数对我的胶水作业资源进行良好的更新:

resource "aws_glue_job" "job_name" {
  name     = "job_name"
  description  = "job-desc"
  role_arn = "${aws_iam_role.service-name.arn}"
  max_capacity  = 2
  max_retries  = 1
  timeout      = 60

  command {
    script_location = "s3://my_bucket"
    python_version  = "3"
  }

  default_arguments = {    
    "--job-language"    = "python"
    "--ENV"             = "env"
    "--spark-event-logs-path" = "s3://my_bucket"
    "--job-bookmark-option" = "job-bookmark-enable"
    "--glue_version" = "2.0"
    "--worker_type" = "G.1X"
    "--enable-spark-ui" = "true"
  }

  execution_property {
    max_concurrent_runs = 1
  }
}
Run Code Online (Sandbox Code Playgroud)

我不知道这些参数放在哪里以及如何放置。请你帮助我好吗 ?

    "--glue_version" = "2.0"
    "--worker_type" = "G.1X"
Run Code Online (Sandbox Code Playgroud)

问候。

Mon*_*tts 5

和参数glue_version与块worker_type处于同一级别default_arguments,而不是在块内部。

将它们移出后,您的resource块可能如下所示:

resource "aws_glue_job" "job_name" {
  name         = "job_name"
  description  = "job-desc"
  role_arn     = "${aws_iam_role.service-name.arn}"
  max_capacity = 2
  max_retries  = 1
  timeout      = 60
  glue_version = "2.0"
  worker_type  = "G.1X"

  command {
    script_location = "s3://my_bucket"
    python_version  = "3"
  }

  default_arguments = {    
    "--job-language"          = "python"
    "--ENV"                   = "env"
    "--spark-event-logs-path" = "s3://my_bucket"
    "--job-bookmark-option"   = "job-bookmark-enable"
    "--enable-spark-ui"       = "true"
  }

  execution_property {
    max_concurrent_runs = 1
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑

您使用的版本2.30.0不支持aws_glue_job资源的这些参数。

直到AWS Provider版本2.34.0glue_version才添加该参数。

直到版本2.39.0worker_type才添加该参数。

您将需要更新提供程序以支持这些参数。