Skip to content

add_application_input async

add_application_input(
    application_name: ApplicationName,
    current_application_version_id: ApplicationVersionId,
    input: Input,
    *,
    config_overrides: Optional[AsyncKinesisAnalyticsClientConfig] = None,
) -> AddApplicationInputResponse

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 a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input.

You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action.

Parameters:

  • application_name (ApplicationName) –

    Name of your existing Amazon Kinesis Analytics application to which you want to add the streaming source.

  • current_application_version_id (ApplicationVersionId) –

    Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

  • input (Input) –

    The Input to add.

Raises:

Source code in docs_src/capo_kinesis_analytics/_services/async_kinesis_analytics.py
async def add_application_input(
    self,
    application_name: "capo_kinesis_analytics.types.application_name.ApplicationName",
    current_application_version_id: "capo_kinesis_analytics.types.application_version_id.ApplicationVersionId",
    input: "capo_kinesis_analytics.types.input.Input",
    *,
    config_overrides: Optional[AsyncKinesisAnalyticsClientConfig] = None,
) -> "capo_kinesis_analytics.types.add_application_input_response.AddApplicationInputResponse":
    """<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 a streaming source to your Amazon Kinesis application. For conceptual information, see <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/how-it-works-input.html">Configuring Application Input</a>. </p> <p>You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_CreateApplication.html">CreateApplication</a>.</p> <p>Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html">DescribeApplication</a> operation to find the current application version. </p> <p>This operation requires permissions to perform the <code>kinesisanalytics:AddApplicationInput</code> action.</p>

    Args:
        application_name: <p>Name of your existing Amazon Kinesis Analytics application to which you want to add the streaming source.</p>
        current_application_version_id: <p>Current version of your Amazon Kinesis Analytics application. You can use the <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html">DescribeApplication</a> operation to find the current application version.</p>
        input: <p>The <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_Input.html">Input</a> to add.</p>

    Raises:
        capo_kinesis_analytics.errors.code_validation_exception.CodeValidationException: <p>User-provided application code (query) is invalid. This can be a simple syntax error.</p>
        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.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_kinesis_analytics.types.add_application_input_request.AddApplicationInputRequest]",
    ) -> AsyncOperationResponse[
        "capo_kinesis_analytics.types.add_application_input_response.AddApplicationInputResponse"
    ]:
        import capo_kinesis_analytics._operations.kinesis_analytics_20150814.add_application_input

        (
            output,
            http_response,
        ) = await capo_kinesis_analytics._operations.kinesis_analytics_20150814.add_application_input.async_add_application_input(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AddApplicationInput")
    )
    input_: capo_kinesis_analytics.types.add_application_input_request.AddApplicationInputRequest = {
        "application_name": application_name,
        "current_application_version_id": current_application_version_id,
        "input": input,
    }

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output