Comment définir des paramètres spéciaux dans une tâche AWS Glue en utilisant AWS CloudFormation ?

Dernière mise à jour : 16/08/2022

Je souhaite activer des paramètres spéciaux, tels que --enable-metrics, pour ma tâche dans AWS Glue. Toutefois, AWS CloudFormation me renvoie une erreur de validation de modèle ou de « valeurs nulles » lorsque j'essaie d'exécuter ma tâche. Comment résoudre ce problème ?

Brève description

Pour définir des paramètres spéciaux pour votre tâche dans AWS Glue, vous devez fournir une paire clé-valeur pour la propriété DefaultArguments de la ressource AWS::Glue::Job dans CloudFormation. Si vous fournissez une clé uniquement dans la définition de votre tâche, CloudFormation renvoie alors une erreur de validation.

Solution

1.    Dans votre modèle CloudFormation, définissez la valeur de votre paramètre spécial sur une chaîne vide pour la propriété DefaultArguments de la définition de votre tâche.

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

Remarque : dans l'exemple précédent de modèles JSON et YAML, la valeur de --enable-metrics est définie sur une chaîne vide. La chaîne vide valide le modèle et lance la ressource qui est configurée avec le paramètre spécial.

2.    Pour activer votre paramètre spécial, exécutez votre tâche.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?