add_application_output

KinesisAnalytics.Client.add_application_output(**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.

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For more information, see Understanding Application Output (Destination).

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.

For the limits on the number of application inputs and outputs you can configure, see Limits.

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

See also: AWS API Documentation

Request Syntax

response = client.add_application_output(
    ApplicationName='string',
    CurrentApplicationVersionId=123,
    Output={
        'Name': 'string',
        'KinesisStreamsOutput': {
            'ResourceARN': 'string',
            'RoleARN': 'string'
        },
        'KinesisFirehoseOutput': {
            'ResourceARN': 'string',
            'RoleARN': 'string'
        },
        'LambdaOutput': {
            'ResourceARN': 'string',
            'RoleARN': 'string'
        },
        'DestinationSchema': {
            'RecordFormatType': 'JSON'|'CSV'
        }
    }
)
Parameters
  • ApplicationName (string) --

    [REQUIRED]

    Name of the application to which you want to add the output configuration.

  • CurrentApplicationVersionId (integer) --

    [REQUIRED]

    Version of the application to which you want to add the output 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.

  • Output (dict) --

    [REQUIRED]

    An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), and record the formation to use when writing to the destination.

    • Name (string) -- [REQUIRED]

      Name of the in-application stream.

    • KinesisStreamsOutput (dict) --

      Identifies an Amazon Kinesis stream as the destination.

      • ResourceARN (string) -- [REQUIRED]

        ARN of the destination Amazon Kinesis stream to write to.

      • RoleARN (string) -- [REQUIRED]

        ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf. You need to grant the necessary permissions to this role.

    • KinesisFirehoseOutput (dict) --

      Identifies an Amazon Kinesis Firehose delivery stream as the destination.

      • ResourceARN (string) -- [REQUIRED]

        ARN of the destination Amazon Kinesis Firehose delivery stream to write to.

      • RoleARN (string) -- [REQUIRED]

        ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf. You need to grant the necessary permissions to this role.

    • LambdaOutput (dict) --

      Identifies an AWS Lambda function as the destination.

      • ResourceARN (string) -- [REQUIRED]

        Amazon Resource Name (ARN) of the destination Lambda function to write to.

        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

      • RoleARN (string) -- [REQUIRED]

        ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function on your behalf. You need to grant the necessary permissions to this role.

    • DestinationSchema (dict) -- [REQUIRED]

      Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

      • RecordFormatType (string) -- [REQUIRED]

        Specifies the format of the records on the output stream.

Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

  • KinesisAnalytics.Client.exceptions.ResourceNotFoundException
  • KinesisAnalytics.Client.exceptions.ResourceInUseException
  • KinesisAnalytics.Client.exceptions.InvalidArgumentException
  • KinesisAnalytics.Client.exceptions.ConcurrentModificationException
  • KinesisAnalytics.Client.exceptions.UnsupportedOperationException