Creates a new trigger.

See also: AWS API Documentation

Request Syntax

response = client.create_trigger(
        'Logical': 'AND'|'ANY',
        'Conditions': [
                'LogicalOperator': 'EQUALS',
                'JobName': 'string',
                'CrawlerName': 'string',
            'JobName': 'string',
            'Arguments': {
                'string': 'string'
            'Timeout': 123,
            'SecurityConfiguration': 'string',
            'NotificationProperty': {
                'NotifyDelayAfter': 123
            'CrawlerName': 'string'
        'string': 'string'
        'BatchSize': 123,
        'BatchWindow': 123
  • Name (string) --


    The name of the trigger.

  • WorkflowName (string) -- The name of the workflow associated with the trigger.
  • Type (string) --


    The type of the new trigger.

  • Schedule (string) --

    A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *) .

    This field is required when the trigger type is SCHEDULED.

  • Predicate (dict) --

    A predicate to specify when the new trigger should fire.

    This field is required when the trigger type is CONDITIONAL .

    • Logical (string) --

      An optional field if only one condition is listed. If multiple conditions are listed, then this field is required.

    • Conditions (list) --

      A list of the conditions that determine when the trigger will fire.

      • (dict) --

        Defines a condition under which a trigger fires.

        • LogicalOperator (string) --

          A logical operator.

        • JobName (string) --

          The name of the job whose JobRuns this condition applies to, and on which this trigger waits.

        • State (string) --

          The condition state. Currently, the only job states that a trigger can listen for are SUCCEEDED , STOPPED , FAILED , and TIMEOUT . The only crawler states that a trigger can listen for are SUCCEEDED , FAILED , and CANCELLED .

        • CrawlerName (string) --

          The name of the crawler to which this condition applies.

        • CrawlState (string) --

          The state of the crawler to which this condition applies.

  • Actions (list) --


    The actions initiated by this trigger when it fires.

    • (dict) --

      Defines an action to be initiated by a trigger.

      • JobName (string) --

        The name of a job to be run.

      • Arguments (dict) --

        The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself.

        You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes.

        For information about how to specify and consume your own Job arguments, see the Calling Glue APIs in Python topic in the developer guide.

        For information about the key-value pairs that Glue consumes to set up your job, see the Special Parameters Used by Glue topic in the developer guide.

        • (string) --
          • (string) --
      • Timeout (integer) --

        The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

      • SecurityConfiguration (string) --

        The name of the SecurityConfiguration structure to be used with this action.

      • NotificationProperty (dict) --

        Specifies configuration properties of a job run notification.

        • NotifyDelayAfter (integer) --

          After a job run starts, the number of minutes to wait before sending a job run delay notification.

      • CrawlerName (string) --

        The name of the crawler to be used with this action.

  • Description (string) -- A description of the new trigger.
  • StartOnCreation (boolean) -- Set to true to start SCHEDULED and CONDITIONAL triggers when created. True is not supported for ON_DEMAND triggers.
  • Tags (dict) --

    The tags to use with this trigger. You may use tags to limit access to the trigger. For more information about tags in Glue, see Amazon Web Services Tags in Glue in the developer guide.

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

    Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.

    • BatchSize (integer) -- [REQUIRED]

      Number of events that must be received from Amazon EventBridge before EventBridge event trigger fires.

    • BatchWindow (integer) --

      Window of time in seconds after which EventBridge event trigger fires. Window starts when first event is received.

Return type



Response Syntax

    'Name': 'string'

Response Structure

  • (dict) --

    • Name (string) --

      The name of the trigger.


  • Glue.Client.exceptions.AlreadyExistsException
  • Glue.Client.exceptions.EntityNotFoundException
  • Glue.Client.exceptions.InvalidInputException
  • Glue.Client.exceptions.IdempotentParameterMismatchException
  • Glue.Client.exceptions.InternalServiceException
  • Glue.Client.exceptions.OperationTimeoutException
  • Glue.Client.exceptions.ResourceNumberLimitExceededException
  • Glue.Client.exceptions.ConcurrentModificationException