Quiero usar parámetros especiales, tales como --enable-metrics, para mi trabajo en AWS Glue. Cuando ejecuto mi trabajo, recibo un error de validación de la plantilla o de “valores nulos” de AWS CloudFormation.
Resolución
Para establecer parámetros especiales para tu trabajo de AWS Glue, debes proporcionar un par clave-valor para la propiedad DefaultArguments del recurso AWS::Glue::Job en CloudFormation. Si solo proporcionas una clave en la definición del trabajo, CloudFormation devolverá un error de validación.
Para resolver este problema, completa los siguientes pasos:
- En tu plantilla de CloudFormation, establece el valor de tu parámetro especial en una cadena vacía para la propiedad DefaultArguments de la definición del trabajo.
Ejemplo de 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"
}
}
}
Ejemplo de 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: 2
MaxRetries: 0
Name: cf-job3
Role: !Ref MyJobRole
**Nota:**En las plantillas JSON y YAML de ejemplo anteriores, --enable-metrics tiene un valor de cadena vacía. La cadena vacía valida la plantilla y lanza el recurso configurado con el parámetro especial.
- Para activar el parámetro especial, ejecuta el trabajo.