如何使用 AWS CloudFormation 在 AWS Glue 作业中设置特殊参数?
上次更新日期:2022 年 8 月 16 日
我想为 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. 要激活特殊参数,运行您的作业。