Ich möchte spezielle Parameter wie --enable-metrics für meinen Auftrag in AWS Glue aktivieren. Wenn ich meinen Auftrag ausführe, erhalte ich von AWS CloudFormation eine Vorlagenvalidierung oder einen Fehler mit „Null-Werten“.
Lösung
Um spezielle Parameter für Ihren Auftrag in AWS Glue festzulegen, müssen Sie ein Schlüssel-Wert-Paar für die Eigenschaft DefaultArguments der Ressource AWS::Glue::Job in CloudFormation angeben. Wenn Sie einen Schlüssel nur in Ihrer Auftragsdefinition angeben, gibt CloudFormation einen Validierungsfehler zurück.
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
- Legen Sie in Ihrer CloudFormation-Vorlage den Wert Ihres speziellen Parameters auf eine leere Zeichenfolge für die Eigenschaft DefaultArguments Ihrer Auftragsdefinition fest.
Beispiel 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"
}
}
}
Beispiel 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
**Hinweis:**In den vorangegangenen Beispielen für JSON- und YAML-Vorlagen hat --enable-metrics einen leeren Zeichenfolgenwert. Die leere Zeichenfolge validiert die Vorlage und startet die Ressource, die mit dem speziellen Parameter konfiguriert ist.
- Führen Sie den Auftrag aus, um Ihren speziellen Parameter zu aktivieren.