CloudFormation で、AWS Glue ジョブに特殊パラメータを設定する方法を教えてください。

所要時間1分
0

AWS Glue での作業において、--enable-metrics などの特殊パラメータを使用したいと考えています。ジョブを実行すると、AWS CloudFormation がテンプレートの検証エラーまたは「null 値」エラーを表示します。

解決策

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: 2
        MaxRetries: 0
        Name: cf-job3
        Role: !Ref MyJobRole
    注: 上記の JSON および YAML テンプレート例において、--enable-metrics の値は空の文字列です。空の文字列によりテンプレートが有効になり、特殊パラメータで構成されたリソースが起動します。
  2. 特殊パラメータを有効にするには、ジョブを実行します。
AWS公式
AWS公式更新しました 2ヶ月前
コメントはありません