AWS CloudFormation を使用して AWS Glue ジョブで特別なパラメータを有効にする方法を教えてください。

最終更新日: 2019 年 5 月 20 日

AWS Glue のジョブのために --enable-metrics などの特別なパラメータを有効にしたいです。けれども、ジョブを実行しようとすると、AWS CloudFormation からテンプレートの検証エラーまたは「null 値」エラーが発生します。これらのエラーを解決するにはどうしたらよいですか?

簡単な説明

AWS Glue でジョブ特別なパラメータを有効にするには、AWS CloudFormation 中の AWS::Glue::JobDefaultArguments プロパティにキーと値のペアを指定する必要があります。自分のジョブ定義でのみキーを指定した場合、AWS CloudFormation は検証エラーを返します。

解決方法

1.    AWS CloudFormation テンプレートで、ジョブ定義の DefaultArguments プロパティに対して、特別なパラメータの値を空の文字列に設定します。

次の JSON および YAML テンプレートの例では、--enable-metrics の値が空の文字列に設定されています。

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

空の文字列はテンプレートを検証し、特別なパラメータで設定されたリソースを起動します。

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


この記事は役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合