:doc:`KinesisAnalytics <../../kinesisanalytics>` / Client / add_application_input_processing_configuration

**********************************************
add_application_input_processing_configuration
**********************************************



.. py:method:: KinesisAnalytics.Client.add_application_input_processing_configuration(**kwargs)

  

  .. note::

    

    This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see `Amazon Kinesis Data Analytics API V2 Documentation </kinesisanalytics/latest/apiv2/Welcome.html>`__.

    

   

  Adds an `InputProcessingConfiguration <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html>`__ to an application. An input processor preprocesses records on the input stream before the application's SQL code executes. Currently, the only input processor available is `AWS Lambda <https://docs.aws.amazon.com/lambda/>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/kinesisanalytics-2015-08-14/AddApplicationInputProcessingConfiguration>`_  


  **Request Syntax**
  ::

    response = client.add_application_input_processing_configuration(
        ApplicationName='string',
        CurrentApplicationVersionId=123,
        InputId='string',
        InputProcessingConfiguration={
            'InputLambdaProcessor': {
                'ResourceARN': 'string',
                'RoleARN': 'string'
            }
        }
    )
    
  :type ApplicationName: string
  :param ApplicationName: **[REQUIRED]** 

    Name of the application to which you want to add the input processing configuration.

    

  
  :type CurrentApplicationVersionId: integer
  :param CurrentApplicationVersionId: **[REQUIRED]** 

    Version of the application to which you want to add the input processing configuration. You can use the `DescribeApplication <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html>`__ operation to get the current application version. If the version specified is not the current version, the ``ConcurrentModificationException`` is returned.

    

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

    The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the `DescribeApplication <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html>`__ operation.

    

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

    The `InputProcessingConfiguration <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html>`__ to add to the application.

    

  
    - **InputLambdaProcessor** *(dict) --* **[REQUIRED]** 

      The `InputLambdaProcessor <https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputLambdaProcessor.html>`__ that is used to preprocess the records in the stream before being processed by your application code.

      

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

        The ARN of the `AWS Lambda <https://docs.aws.amazon.com/lambda/>`__ function that operates on records in the stream.

         

        .. note::

          

          To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see `Example ARNs\: AWS Lambda </general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda>`__

          

        

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

        The ARN of the IAM role that is used to access the AWS Lambda function.

        

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`KinesisAnalytics.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`KinesisAnalytics.Client.exceptions.ResourceInUseException`

  
  *   :py:class:`KinesisAnalytics.Client.exceptions.InvalidArgumentException`

  
  *   :py:class:`KinesisAnalytics.Client.exceptions.ConcurrentModificationException`

  
  *   :py:class:`KinesisAnalytics.Client.exceptions.UnsupportedOperationException`

  