我想要為 AWS Glue 中的任務啟用特殊參數,例如 --enable-metrics。但是,當我嘗試執行我的任務時,我從 AWS CloudFormation 中收到範本驗證或「空值」錯誤。我該如何解決這些錯誤?
簡短說明
若要在 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. 如需啟動您的特殊參數,請執行您的任務。