:doc:`EMR <../../emr>` / Client / start_notebook_execution

************************
start_notebook_execution
************************



.. py:method:: EMR.Client.start_notebook_execution(**kwargs)

  

  Starts a notebook execution.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution>`_  


  **Request Syntax**
  ::

    response = client.start_notebook_execution(
        EditorId='string',
        RelativePath='string',
        NotebookExecutionName='string',
        NotebookParams='string',
        ExecutionEngine={
            'Id': 'string',
            'Type': 'EMR',
            'MasterInstanceSecurityGroupId': 'string',
            'ExecutionRoleArn': 'string'
        },
        ServiceRole='string',
        NotebookInstanceSecurityGroupId='string',
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        NotebookS3Location={
            'Bucket': 'string',
            'Key': 'string'
        },
        OutputNotebookS3Location={
            'Bucket': 'string',
            'Key': 'string'
        },
        OutputNotebookFormat='HTML',
        EnvironmentVariables={
            'string': 'string'
        }
    )
    
  :type EditorId: string
  :param EditorId: 

    The unique identifier of the Amazon EMR Notebook to use for notebook execution.

    

  
  :type RelativePath: string
  :param RelativePath: 

    The path and file name of the notebook file for this execution, relative to the path specified for the Amazon EMR Notebook. For example, if you specify a path of ``s3://MyBucket/MyNotebooks`` when you create an Amazon EMR Notebook for a notebook with an ID of ``e-ABCDEFGHIJK1234567890ABCD`` (the ``EditorID`` of this request), and you specify a ``RelativePath`` of ``my_notebook_executions/notebook_execution.ipynb``, the location of the file for the notebook execution is ``s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb``.

    

  
  :type NotebookExecutionName: string
  :param NotebookExecutionName: 

    An optional name for the notebook execution.

    

  
  :type NotebookParams: string
  :param NotebookParams: 

    Input parameters in JSON format passed to the Amazon EMR Notebook at runtime for execution.

    

  
  :type ExecutionEngine: dict
  :param ExecutionEngine: **[REQUIRED]** 

    Specifies the execution engine (cluster) that runs the notebook execution.

    

  
    - **Id** *(string) --* **[REQUIRED]** 

      The unique identifier of the execution engine. For an Amazon EMR cluster, this is the cluster ID.

      

    
    - **Type** *(string) --* 

      The type of execution engine. A value of ``EMR`` specifies an Amazon EMR cluster.

      

    
    - **MasterInstanceSecurityGroupId** *(string) --* 

      An optional unique ID of an Amazon EC2 security group to associate with the master instance of the Amazon EMR cluster for this notebook execution. For more information see `Specifying Amazon EC2 Security Groups for Amazon EMR Notebooks <https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html>`__ in the *EMR Management Guide*.

      

    
    - **ExecutionRoleArn** *(string) --* 

      The execution role ARN required for the notebook execution.

      

    
  
  :type ServiceRole: string
  :param ServiceRole: **[REQUIRED]** 

    The name or ARN of the IAM role that is used as the service role for Amazon EMR (the Amazon EMR role) for the notebook execution.

    

  
  :type NotebookInstanceSecurityGroupId: string
  :param NotebookInstanceSecurityGroupId: 

    The unique identifier of the Amazon EC2 security group to associate with the Amazon EMR Notebook for this notebook execution.

    

  
  :type Tags: list
  :param Tags: 

    A list of tags associated with a notebook execution. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters and an optional value string with a maximum of 256 characters.

    

  
    - *(dict) --* 

      A key-value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see `Tag Clusters <https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html>`__.

      

    
      - **Key** *(string) --* 

        A user-defined key, which is the minimum required information for a valid tag. For more information, see `Tag <https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html>`__.

        

      
      - **Value** *(string) --* 

        A user-defined value, which is optional in a tag. For more information, see `Tag Clusters <https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html>`__.

        

      
    

  :type NotebookS3Location: dict
  :param NotebookS3Location: 

    The Amazon S3 location for the notebook execution input.

    

  
    - **Bucket** *(string) --* 

      The Amazon S3 bucket that stores the notebook execution input.

      

    
    - **Key** *(string) --* 

      The key to the Amazon S3 location that stores the notebook execution input.

      

    
  
  :type OutputNotebookS3Location: dict
  :param OutputNotebookS3Location: 

    The Amazon S3 location for the notebook execution output.

    

  
    - **Bucket** *(string) --* 

      The Amazon S3 bucket that stores the notebook execution output.

      

    
    - **Key** *(string) --* 

      The key to the Amazon S3 location that stores the notebook execution output.

      

    
  
  :type OutputNotebookFormat: string
  :param OutputNotebookFormat: 

    The output format for the notebook execution.

    

  
  :type EnvironmentVariables: dict
  :param EnvironmentVariables: 

    The environment variables associated with the notebook execution.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'NotebookExecutionId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **NotebookExecutionId** *(string) --* 

        The unique identifier of the notebook execution.

        
  
  **Exceptions**
  
  *   :py:class:`EMR.Client.exceptions.InternalServerException`

  
  *   :py:class:`EMR.Client.exceptions.InvalidRequestException`

  