如何使用 AWS CloudFormation 在 AWS Glue 作业中设置特殊参数?

1 分钟阅读
0

我想为 AWS Glue 中的作业启用特殊参数,例如 --enable-metrics。但是,当我尝试运行作业时,遇到 AWS CloudFormation 模板验证或“null values(空值)”错误。如何解决这些错误?

简短描述

要为 AWS Glue 中的作业设置特殊参数,您必须为 CloudFormation 中的 AWS::Glue::Job 资源的 DefaultArguments 属性提供键值对。如果仅在作业定义中提供键,则 CloudFormation 将返回验证错误。

解决方法

1.    在 CloudFormation 模板中,对于作业定义的 DefaultArguments 属性,将特殊参数的值设置为空字符串。

JSON:

"MyJob": {
  "Type": "AWS::Glue::Job",
  "Properties": {
    "Command": {
      "Name": "glueetl",
      "ScriptLocation": "s3://my-test//test-job1"
    },
    "DefaultArguments": {
      "--job-bookmark-option": "job-bookmark-enable",
      "--enable-metrics": ""
    },
    "ExecutionProperty": {
      "MaxConcurrentRuns": 2
    },
    "MaxRetries": 0,
    "Name": "cf-job3",
    "Role": {
      "Ref": "MyJobRole"
    }
  }
}

YAML:

MyJob:
  Type: 'AWS::Glue::Job'
  Properties:
    Command:
      Name: glueetl
      ScriptLocation: 's3://my-test//test-job1'
    DefaultArguments:
      '--job-bookmark-option': job-bookmark-enable
      '--enable-metrics': ''
    ExecutionProperty:
      MaxConcurrentRuns: 
    MaxRetries: 0
    Name: cf-job3
    Role: !Ref MyJobRole

注意:在前面的 JSON 和 YAML 示例模板中,--enable-metrics 的值设置为空字符串。空字符串验证模板并启动配置了特殊参数的资源。

2.    要激活特殊参数,运行您的作业


AWS 官方
AWS 官方已更新 2 年前