CDKでGlueJobの一時ディレクトリや参照されるファイルパスやPythonライブラリパスなどを設定する

CfnJobのドキュメントを見ても一時ディレクトリや参照されるファイルパスなどの設定項目が見つかりませんが、defaultArgumentsで指定することでできたのでメモです。

Glueでは実行する時裏側でオプションが指定されたコマンドが叩かれているのですが、defaultArgumentsではここの引数に追加できるというオプションです。

AWS Glue で使用される特別なパラメータにあるような設定をここで行うことができます。例えば--extra-py-files--extra-jars--extra-files--TempDirなどCDKのドキュメントにないものをこのパラメータで設定するのが良いと思います。

    new CfnJob(this, 'GlueUserTotalAggregation', {
      command: {
        name: 'glueetl',
        scriptLocation: "s3://BUCKET_NAME/glue.py"
      },
      role: glueRoleName,
      glueVersion: '2.0',
      workerType: 'G.1X',
      name: glueJobName,
      numberOfWorkers: 10,
      connections: {
        connections: [connectionName]
      },
      defaultArguments: {
        "--extra-files": "s3://BUCKET_NAME/script/additional.py",
        "--TempDir": "s3://BUCKET_NAME/temp/"
      }
    })

参照