Desidero usare parametri speciali, come --enable-metrics, per il mio processo in AWS Glue. Quando eseguo il processo, ricevo un errore di convalida del modello o "valori nulli" da AWS CloudFormation.
Risoluzione
Per impostare parametri speciali per un processo AWS Glue, devi fornire una coppia chiave-valore per la proprietà DefaultArguments della risorsa AWS::Glue::Job in CloudFormation. Se fornisci una chiave solo nella definizione del processo, CloudFormation restituisce un errore di convalida.
Per risolvere questo problema, completa i passaggi seguenti:
- Nel tuo modello CloudFormation, imposta il valore del tuo parametro speciale su una stringa vuota per la proprietà DefaultArguments della definizione del processo.
Esempio 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"
}
}
}
Esempio 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: negli esempi precedenti di modelli JSON e YAML,--enable-metrics ha un valore di stringa vuoto. La stringa vuota convalida il modello e avvia la risorsa configurata con il parametro speciale.
- Per attivare il parametro speciale, esegui il processo.