Skip to content

add_application_input_processing_configuration async

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

Adds an InputProcessingConfiguration to a SQL-based Kinesis Data Analytics application. An input processor pre-processes records on the input stream before the application's SQL code executes. Currently, the only input processor available is Amazon Lambda.

Parameters:

  • application_name (ApplicationName) –

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

  • current_application_version_id (ApplicationVersionId) –

    The 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_v2/_services/async_kinesis_analytics_v2.py
async def add_application_input_processing_configuration(
    self,
    application_name: "capo_kinesis_analytics_v2.types.application_name.ApplicationName",
    current_application_version_id: "capo_kinesis_analytics_v2.types.application_version_id.ApplicationVersionId",
    input_id: "capo_kinesis_analytics_v2.types.id.Id",
    input_processing_configuration: "capo_kinesis_analytics_v2.types.input_processing_configuration.InputProcessingConfiguration",
    *,
    config_overrides: Optional[AsyncKinesisAnalyticsV2ClientConfig] = None,
) -> "capo_kinesis_analytics_v2.types.add_application_input_processing_configuration_response.AddApplicationInputProcessingConfigurationResponse":
    """<p>Adds an <a>InputProcessingConfiguration</a> to a SQL-based Kinesis Data Analytics application. An input processor pre-processes 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/">Amazon Lambda</a>.</p>

    Args:
        application_name: <p>The name of the application to which you want to add the input processing configuration.</p>
        current_application_version_id: <p>The version of the application to which you want to add the input processing configuration. You can use the <a>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>DescribeApplication</a> operation.</p>
        input_processing_configuration: <p>The <a>InputProcessingConfiguration</a> to add to the application.</p>

    Raises:
        capo_kinesis_analytics_v2.errors.concurrent_modification_exception.ConcurrentModificationException: <p>Exception thrown as a result of concurrent modifications to an application. This error can be the result of attempting to modify an application without using the current application ID.</p>
        capo_kinesis_analytics_v2.errors.invalid_argument_exception.InvalidArgumentException: <p>The specified input parameter value is not valid.</p>
        capo_kinesis_analytics_v2.errors.invalid_request_exception.InvalidRequestException: <p>The request JSON is not valid for the operation.</p>
        capo_kinesis_analytics_v2.errors.resource_in_use_exception.ResourceInUseException: <p>The application is not available for this operation.</p>
        capo_kinesis_analytics_v2.errors.resource_not_found_exception.ResourceNotFoundException: <p>Specified application can't be found.</p>
        capo_kinesis_analytics_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_kinesis_analytics_v2.types.add_application_input_processing_configuration_request.AddApplicationInputProcessingConfigurationRequest]",
    ) -> AsyncOperationResponse[
        "capo_kinesis_analytics_v2.types.add_application_input_processing_configuration_response.AddApplicationInputProcessingConfigurationResponse"
    ]:
        import capo_kinesis_analytics_v2._operations.kinesis_analytics_20180523.add_application_input_processing_configuration

        (
            output,
            http_response,
        ) = await capo_kinesis_analytics_v2._operations.kinesis_analytics_20180523.add_application_input_processing_configuration.async_add_application_input_processing_configuration(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("AddApplicationInputProcessingConfiguration"),
    )
    input_: capo_kinesis_analytics_v2.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 = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output