Select your cookie preferences

We use cookies and similar tools to enhance your experience, provide our services, deliver relevant advertising, and make improvements. Approved third parties also use these tools to help us deliver advertising and provide certain site features.

create_job_template

create_job_template(**kwargs)

Creates a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.

See also: AWS API Documentation

Request Syntax

response = client.create_job_template(
    name='string',
    clientToken='string',
    jobTemplateData={
        'executionRoleArn': 'string',
        'releaseLabel': 'string',
        'configurationOverrides': {
            'applicationConfiguration': [
                {
                    'classification': 'string',
                    'properties': {
                        'string': 'string'
                    },
                    'configurations': {'... recursive ...'}
                },
            ],
            'monitoringConfiguration': {
                'persistentAppUI': 'string',
                'cloudWatchMonitoringConfiguration': {
                    'logGroupName': 'string',
                    'logStreamNamePrefix': 'string'
                },
                's3MonitoringConfiguration': {
                    'logUri': 'string'
                }
            }
        },
        'jobDriver': {
            'sparkSubmitJobDriver': {
                'entryPoint': 'string',
                'entryPointArguments': [
                    'string',
                ],
                'sparkSubmitParameters': 'string'
            },
            'sparkSqlJobDriver': {
                'entryPoint': 'string',
                'sparkSqlParameters': 'string'
            }
        },
        'parameterConfiguration': {
            'string': {
                'type': 'NUMBER'|'STRING',
                'defaultValue': 'string'
            }
        },
        'jobTags': {
            'string': 'string'
        }
    },
    tags={
        'string': 'string'
    },
    kmsKeyArn='string'
)
Parameters
  • name (string) --

    [REQUIRED]

    The specified name of the job template.

  • clientToken (string) --

    [REQUIRED]

    The client token of the job template.

    This field is autopopulated if not provided.

  • jobTemplateData (dict) --

    [REQUIRED]

    The job template data which holds values of StartJobRun API request.

    • executionRoleArn (string) -- [REQUIRED]

      The execution role ARN of the job run.

    • releaseLabel (string) -- [REQUIRED]

      The release version of Amazon EMR.

    • configurationOverrides (dict) --

      The configuration settings that are used to override defaults configuration.

      • applicationConfiguration (list) --

        The configurations for the application running by the job run.

        • (dict) --

          A configuration specification to be used when provisioning virtual clusters, which can include configurations for applications and software bundled with Amazon EMR on EKS. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file.

          • classification (string) -- [REQUIRED]

            The classification within a configuration.

          • properties (dict) --

            A set of properties specified within a configuration classification.

            • (string) --
              • (string) --
          • configurations (list) --

            A list of additional configurations to apply within a configuration object.

      • monitoringConfiguration (dict) --

        The configurations for monitoring.

        • persistentAppUI (string) --

          Monitoring configurations for the persistent application UI.

        • cloudWatchMonitoringConfiguration (dict) --

          Monitoring configurations for CloudWatch.

          • logGroupName (string) --

            The name of the log group for log publishing.

          • logStreamNamePrefix (string) --

            The specified name prefix for log streams.

        • s3MonitoringConfiguration (dict) --

          Amazon S3 configuration for monitoring log publishing.

          • logUri (string) --

            Amazon S3 destination URI for log publishing.

    • jobDriver (dict) -- [REQUIRED]

      Specify the driver that the job runs on. Exactly one of the two available job drivers is required, either sparkSqlJobDriver or sparkSubmitJobDriver.

      • sparkSubmitJobDriver (dict) --

        The job driver parameters specified for spark submit.

        • entryPoint (string) -- [REQUIRED]

          The entry point of job application.

        • entryPointArguments (list) --

          The arguments for job application.

          • (string) --
        • sparkSubmitParameters (string) --

          The Spark submit parameters that are used for job runs.

      • sparkSqlJobDriver (dict) --

        The job driver for job type.

        • entryPoint (string) --

          The SQL file to be executed.

        • sparkSqlParameters (string) --

          The Spark parameters to be included in the Spark SQL command.

    • parameterConfiguration (dict) --

      The configuration of parameters existing in the job template.

      • (string) --
        • (dict) --

          The configuration of a job template parameter.

          • type (string) --

            The type of the job template parameter. Allowed values are: ‘STRING’, ‘NUMBER’.

          • defaultValue (string) --

            The default value for the job template parameter.

    • jobTags (dict) --

      The tags assigned to jobs started using the job template.

      • (string) --
        • (string) --
  • tags (dict) --

    The tags that are associated with the job template.

    • (string) --
      • (string) --
  • kmsKeyArn (string) -- The KMS key ARN used to encrypt the job template.
Return type

dict

Returns

Response Syntax

{
    'id': 'string',
    'name': 'string',
    'arn': 'string',
    'createdAt': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • id (string) --

      This output display the created job template ID.

    • name (string) --

      This output displays the name of the created job template.

    • arn (string) --

      This output display the ARN of the created job template.

    • createdAt (datetime) --

      This output displays the date and time when the job template was created.

Exceptions

  • EMRContainers.Client.exceptions.ValidationException
  • EMRContainers.Client.exceptions.ResourceNotFoundException
  • EMRContainers.Client.exceptions.InternalServerException