AWS 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: 
    MaxRetries: 0
    Name: cf-job3
    Role: !Ref MyJobRole

注意:前述の JSON および YAML テンプレートの例では、--enable-metrics の値は空の文字列に設定されています。空の文字列はテンプレートを検証し、特別なパラメータで設定されたリソースを起動します。

2.    特別なパラメータを有効にするには、ジョブを実行します。


AWS公式
AWS公式更新しました 2年前