:doc:`Glue <../../glue>` / Client / get_dataflow_graph

******************
get_dataflow_graph
******************



.. py:method:: Glue.Client.get_dataflow_graph(**kwargs)

  

  Transforms a Python script into a directed acyclic graph (DAG).

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetDataflowGraph>`_  


  **Request Syntax**
  ::

    response = client.get_dataflow_graph(
        PythonScript='string'
    )
    
  :type PythonScript: string
  :param PythonScript: 

    The Python script to transform.

    

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

    
    ::

      {
          'DagNodes': [
              {
                  'Id': 'string',
                  'NodeType': 'string',
                  'Args': [
                      {
                          'Name': 'string',
                          'Value': 'string',
                          'Param': True|False
                      },
                  ],
                  'LineNumber': 123
              },
          ],
          'DagEdges': [
              {
                  'Source': 'string',
                  'Target': 'string',
                  'TargetParameter': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **DagNodes** *(list) --* 

        A list of the nodes in the resulting DAG.

        
        

        - *(dict) --* 

          Represents a node in a directed acyclic graph (DAG)

          
          

          - **Id** *(string) --* 

            A node identifier that is unique within the node's graph.

            
          

          - **NodeType** *(string) --* 

            The type of node that this is.

            
          

          - **Args** *(list) --* 

            Properties of the node, in the form of name-value pairs.

            
            

            - *(dict) --* 

              An argument or property of a node.

              
              

              - **Name** *(string) --* 

                The name of the argument or property.

                
              

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

                The value of the argument or property.

                
              

              - **Param** *(boolean) --* 

                True if the value is used as a parameter.

                
          
        
          

          - **LineNumber** *(integer) --* 

            The line number of the node.

            
      
    
      

      - **DagEdges** *(list) --* 

        A list of the edges in the resulting DAG.

        
        

        - *(dict) --* 

          Represents a directional edge in a directed acyclic graph (DAG).

          
          

          - **Source** *(string) --* 

            The ID of the node at which the edge starts.

            
          

          - **Target** *(string) --* 

            The ID of the node at which the edge ends.

            
          

          - **TargetParameter** *(string) --* 

            The target of the edge.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`Glue.Client.exceptions.InvalidInputException`

  
  *   :py:class:`Glue.Client.exceptions.InternalServiceException`

  
  *   :py:class:`Glue.Client.exceptions.OperationTimeoutException`

  