Analytics Application Args
data class AnalyticsApplicationArgs(val cloudwatchLoggingOptions: Output<AnalyticsApplicationCloudwatchLoggingOptionsArgs>? = null, val code: Output<String>? = null, val description: Output<String>? = null, val inputs: Output<AnalyticsApplicationInputsArgs>? = null, val name: Output<String>? = null, val outputs: Output<List<AnalyticsApplicationOutputArgs>>? = null, val referenceDataSources: Output<AnalyticsApplicationReferenceDataSourcesArgs>? = null, val startApplication: Output<Boolean>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<AnalyticsApplicationArgs>
Provides a Kinesis Analytics Application resource. Kinesis Analytics is a managed service that allows processing and analyzing streaming data using standard SQL. For more details, see the Amazon Kinesis Analytics Documentation.
Note: To manage Amazon Kinesis Data Analytics for Apache Flink applications, use the
aws.kinesisanalyticsv2.Application
resource.
Example Usage
Kinesis Stream Input
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.kinesis.Stream;
import com.pulumi.aws.kinesis.StreamArgs;
import com.pulumi.aws.kinesis.AnalyticsApplication;
import com.pulumi.aws.kinesis.AnalyticsApplicationArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsKinesisStreamArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsParallelismArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var testStream = new Stream("testStream", StreamArgs.builder()
.shardCount(1)
.build());
var testApplication = new AnalyticsApplication("testApplication", AnalyticsApplicationArgs.builder()
.inputs(AnalyticsApplicationInputsArgs.builder()
.namePrefix("test_prefix")
.kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder()
.resourceArn(testStream.arn())
.roleArn(aws_iam_role.test().arn())
.build())
.parallelism(AnalyticsApplicationInputsParallelismArgs.builder()
.count(1)
.build())
.schema(AnalyticsApplicationInputsSchemaArgs.builder()
.recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder()
.mapping("$.test")
.name("test")
.sqlType("VARCHAR(8)")
.build())
.recordEncoding("UTF-8")
.recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder()
.mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder()
.json(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs.builder()
.recordRowPath("$")
.build())
.build())
.build())
.build())
.build())
.build());
}
}
Content copied to clipboard
Starting An Application
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudwatch.LogGroup;
import com.pulumi.aws.cloudwatch.LogStream;
import com.pulumi.aws.cloudwatch.LogStreamArgs;
import com.pulumi.aws.kinesis.Stream;
import com.pulumi.aws.kinesis.StreamArgs;
import com.pulumi.aws.kinesis.FirehoseDeliveryStream;
import com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;
import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;
import com.pulumi.aws.kinesis.AnalyticsApplication;
import com.pulumi.aws.kinesis.AnalyticsApplicationArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationCloudwatchLoggingOptionsArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsKinesisStreamArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputSchemaArgs;
import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputKinesisFirehoseArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleLogGroup = new LogGroup("exampleLogGroup");
var exampleLogStream = new LogStream("exampleLogStream", LogStreamArgs.builder()
.logGroupName(exampleLogGroup.name())
.build());
var exampleStream = new Stream("exampleStream", StreamArgs.builder()
.shardCount(1)
.build());
var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream("exampleFirehoseDeliveryStream", FirehoseDeliveryStreamArgs.builder()
.destination("extended_s3")
.extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()
.bucketArn(aws_s3_bucket.example().arn())
.roleArn(aws_iam_role.example().arn())
.build())
.build());
var test = new AnalyticsApplication("test", AnalyticsApplicationArgs.builder()
.cloudwatchLoggingOptions(AnalyticsApplicationCloudwatchLoggingOptionsArgs.builder()
.logStreamArn(exampleLogStream.arn())
.roleArn(aws_iam_role.example().arn())
.build())
.inputs(AnalyticsApplicationInputsArgs.builder()
.namePrefix("example_prefix")
.schema(AnalyticsApplicationInputsSchemaArgs.builder()
.recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder()
.name("COLUMN_1")
.sqlType("INTEGER")
.build())
.recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder()
.mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder()
.csv(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs.builder()
.recordColumnDelimiter(",")
.recordRowDelimiter("|")
.build())
.build())
.build())
.build())
.kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder()
.resourceArn(exampleStream.arn())
.roleArn(aws_iam_role.example().arn())
.build())
.startingPositionConfigurations(AnalyticsApplicationInputsStartingPositionConfigurationArgs.builder()
.startingPosition("NOW")
.build())
.build())
.outputs(AnalyticsApplicationOutputArgs.builder()
.name("OUTPUT_1")
.schema(AnalyticsApplicationOutputSchemaArgs.builder()
.recordFormatType("CSV")
.build())
.kinesisFirehose(AnalyticsApplicationOutputKinesisFirehoseArgs.builder()
.resourceArn(exampleFirehoseDeliveryStream.arn())
.roleArn(aws_iam_role.example().arn())
.build())
.build())
.startApplication(true)
.build());
}
}
Content copied to clipboard
Import
Kinesis Analytics Application can be imported by using ARN, e.g.,
$ pulumi import aws:kinesis/analyticsApplication:AnalyticsApplication example arn:aws:kinesisanalytics:us-west-2:1234567890:application/example
Content copied to clipboard
Constructors
Link copied to clipboard
fun AnalyticsApplicationArgs(cloudwatchLoggingOptions: Output<AnalyticsApplicationCloudwatchLoggingOptionsArgs>? = null, code: Output<String>? = null, description: Output<String>? = null, inputs: Output<AnalyticsApplicationInputsArgs>? = null, name: Output<String>? = null, outputs: Output<List<AnalyticsApplicationOutputArgs>>? = null, referenceDataSources: Output<AnalyticsApplicationReferenceDataSourcesArgs>? = null, startApplication: Output<Boolean>? = null, tags: Output<Map<String, String>>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined starting_position
must be configured. To modify an application's starting position, first stop the application by setting start_application = false
, then update starting_position
and set start_application = true
.