Skip to content

add_application_input_processing_configuration

add_application_input_processing_configuration(
    application_name: ApplicationName,
    current_application_version_id: ApplicationVersionId,
    input_id: Id,
    input_processing_configuration: InputProcessingConfiguration,
    *,
    config_overrides: Optional[KinesisAnalyticsClientConfig] = None,
) -> AddApplicationInputProcessingConfigurationResponse

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.

Adds an InputProcessingConfiguration 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.

Parameters:

  • application_name (ApplicationName) –

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

  • current_application_version_id (ApplicationVersionId) –

    Version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

  • input_id (Id) –

    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 operation.

  • input_processing_configuration (InputProcessingConfiguration) –

    The InputProcessingConfiguration to add to the application.

Raises:

Source code in docs_src/capo_kinesis_analytics/_services/kinesis_analytics.py
def add_application_input_processing_configuration(
    self,
    application_name: "capo_kinesis_analytics.types.application_name.ApplicationName",
    current_application_version_id: "capo_kinesis_analytics.types.application_version_id.ApplicationVersionId",
    input_id: "capo_kinesis_analytics.types.id.Id",
    input_processing_configuration: "capo_kinesis_analytics.types.input_processing_configuration.InputProcessingConfiguration",
    *,
    config_overrides: Optional[KinesisAnalyticsClientConfig] = None,
) -> "capo_kinesis_analytics.types.add_application_input_processing_configuration_response.AddApplicationInputProcessingConfigurationResponse":
    """<note> <p>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 <a href="/kinesisanalytics/latest/apiv2/Welcome.html">Amazon Kinesis Data Analytics API V2 Documentation</a>.</p> </note> <p>Adds an <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a> 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 <a href="https://docs.aws.amazon.com/lambda/">AWS Lambda</a>.</p>

    Args:
        application_name: <p>Name of the application to which you want to add the input processing configuration.</p>
        current_application_version_id: <p>Version of the application to which you want to add the input processing configuration. You can use the <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html">DescribeApplication</a> operation to get the current application version. If the version specified is not the current version, the <code>ConcurrentModificationException</code> is returned.</p>
        input_id: <p>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 <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html">DescribeApplication</a> operation.</p>
        input_processing_configuration: <p>The <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_InputProcessingConfiguration.html">InputProcessingConfiguration</a> to add to the application.</p>

    Raises:
        capo_kinesis_analytics.errors.concurrent_modification_exception.ConcurrentModificationException: <p>Exception thrown as a result of concurrent modification to an application. For example, two individuals attempting to edit the same application at the same time.</p>
        capo_kinesis_analytics.errors.invalid_argument_exception.InvalidArgumentException: <p>Specified input parameter value is invalid.</p>
        capo_kinesis_analytics.errors.resource_in_use_exception.ResourceInUseException: <p>Application is not available for this operation.</p>
        capo_kinesis_analytics.errors.resource_not_found_exception.ResourceNotFoundException: <p>Specified application can't be found.</p>
        capo_kinesis_analytics.errors.unsupported_operation_exception.UnsupportedOperationException: <p>The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation. </p>
        capo_kinesis_analytics.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_kinesis_analytics.types.add_application_input_processing_configuration_request.AddApplicationInputProcessingConfigurationRequest]",
    ) -> OperationResponse[
        "capo_kinesis_analytics.types.add_application_input_processing_configuration_response.AddApplicationInputProcessingConfigurationResponse"
    ]:
        import capo_kinesis_analytics._operations.kinesis_analytics_20150814.add_application_input_processing_configuration

        output, http_response = (
            capo_kinesis_analytics._operations.kinesis_analytics_20150814.add_application_input_processing_configuration.add_application_input_processing_configuration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("AddApplicationInputProcessingConfiguration"),
    )
    input_: capo_kinesis_analytics.types.add_application_input_processing_configuration_request.AddApplicationInputProcessingConfigurationRequest = {
        "application_name": application_name,
        "current_application_version_id": current_application_version_id,
        "input_id": input_id,
        "input_processing_configuration": input_processing_configuration,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output