Package com.pulumi.aws.kinesis
Class AnalyticsApplication
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.kinesis.AnalyticsApplication
-
public class AnalyticsApplication extends com.pulumi.resources.CustomResourceProvides 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](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/what-is.html). > **WARNING:** _This resource is deprecated and will be removed in a future version._ [Effective January 27, 2026](https://aws.amazon.com/blogs/big-data/migrate-from-amazon-kinesis-data-analytics-for-sql-to-amazon-managed-service-for-apache-flink-and-amazon-managed-service-for-apache-flink-studio/), AWS will [no longer support](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/discontinuation.html) Amazon Kinesis Data Analytics for SQL. Use the `aws.kinesisanalyticsv2.Application` resource instead to manage Amazon Kinesis Data Analytics for Apache Flink applications. AWS provides guidance for migrating from [Amazon Kinesis Data Analytics for SQL Applications to Amazon Managed Service for Apache Flink Studio](https://aws.amazon.com/blogs/big-data/migrate-from-amazon-kinesis-data-analytics-for-sql-applications-to-amazon-managed-service-for-apache-flink-studio/) including [examples](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/migrating-to-kda-studio-overview.html). > **Note:** To manage Amazon Kinesis Data Analytics for Apache Flink applications, use the `aws.kinesisanalyticsv2.Application` resource. ## Example Usage ### Kinesis Stream Input
### Starting An Applicationpackage 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.inputs.StreamStreamModeDetailsArgs; 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 com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsSchemaRecordColumnArgs; import java.util.ArrayList; import java.util.Arrays; 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() .streamModeDetails(StreamStreamModeDetailsArgs.builder() .streamMode("ON_DEMAND") .build()) .name("pulumi-kinesis-test") .build()); var testApplication = new AnalyticsApplication("testApplication", AnalyticsApplicationArgs.builder() .inputs(AnalyticsApplicationInputsArgs.builder() .kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder() .resourceArn(testStream.arn()) .roleArn(test.arn()) .build()) .parallelism(AnalyticsApplicationInputsParallelismArgs.builder() .count(1) .build()) .schema(AnalyticsApplicationInputsSchemaArgs.builder() .recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder() .mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder() .json(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersJsonArgs.builder() .recordRowPath("$") .build()) .build()) .build()) .recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder() .mapping("$.test") .name("test") .sqlType("VARCHAR(8)") .build()) .recordEncoding("UTF-8") .build()) .namePrefix("test_prefix") .build()) .name("kinesis-analytics-application-test") .build()); } }
## Import Using `pulumi import`, import Kinesis Analytics Application using ARN. For example: ```sh $ pulumi import aws:kinesis/analyticsApplication:AnalyticsApplication example arn:aws:kinesisanalytics:us-west-2:1234567890:application/example ```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.LogGroupArgs; 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.inputs.StreamStreamModeDetailsArgs; 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.AnalyticsApplicationInputsSchemaRecordColumnArgs; import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsKinesisStreamArgs; import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationInputsStartingPositionConfigurationArgs; import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputArgs; import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputSchemaArgs; import com.pulumi.aws.kinesis.inputs.AnalyticsApplicationOutputKinesisFirehoseArgs; import java.util.ArrayList; import java.util.Arrays; 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 example = new LogGroup("example", LogGroupArgs.builder() .name("analytics") .build()); var exampleLogStream = new LogStream("exampleLogStream", LogStreamArgs.builder() .name("example-kinesis-application") .logGroupName(example.name()) .build()); var exampleStream = new Stream("exampleStream", StreamArgs.builder() .streamModeDetails(StreamStreamModeDetailsArgs.builder() .streamMode("ON_DEMAND") .build()) .name("example-kinesis-stream") .build()); var exampleFirehoseDeliveryStream = new FirehoseDeliveryStream("exampleFirehoseDeliveryStream", FirehoseDeliveryStreamArgs.builder() .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder() .bucketArn(exampleAwsS3Bucket.arn()) .roleArn(exampleAwsIamRole.arn()) .build()) .name("example-kinesis-delivery-stream") .destination("extended_s3") .build()); var test = new AnalyticsApplication("test", AnalyticsApplicationArgs.builder() .cloudwatchLoggingOptions(AnalyticsApplicationCloudwatchLoggingOptionsArgs.builder() .logStreamArn(exampleLogStream.arn()) .roleArn(exampleAwsIamRole.arn()) .build()) .inputs(AnalyticsApplicationInputsArgs.builder() .schema(AnalyticsApplicationInputsSchemaArgs.builder() .recordFormat(AnalyticsApplicationInputsSchemaRecordFormatArgs.builder() .mappingParameters(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersArgs.builder() .csv(AnalyticsApplicationInputsSchemaRecordFormatMappingParametersCsvArgs.builder() .recordColumnDelimiter(",") .recordRowDelimiter("|") .build()) .build()) .build()) .recordColumns(AnalyticsApplicationInputsSchemaRecordColumnArgs.builder() .name("COLUMN_1") .sqlType("INTEGER") .build()) .build()) .kinesisStream(AnalyticsApplicationInputsKinesisStreamArgs.builder() .resourceArn(exampleStream.arn()) .roleArn(exampleAwsIamRole.arn()) .build()) .startingPositionConfigurations(AnalyticsApplicationInputsStartingPositionConfigurationArgs.builder() .startingPosition("NOW") .build()) .namePrefix("example_prefix") .build()) .outputs(AnalyticsApplicationOutputArgs.builder() .schema(AnalyticsApplicationOutputSchemaArgs.builder() .recordFormatType("CSV") .build()) .kinesisFirehose(AnalyticsApplicationOutputKinesisFirehoseArgs.builder() .resourceArn(exampleFirehoseDeliveryStream.arn()) .roleArn(exampleAwsIamRole.arn()) .build()) .name("OUTPUT_1") .build()) .name("example-application") .startApplication(true) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description AnalyticsApplication(java.lang.String name)AnalyticsApplication(java.lang.String name, AnalyticsApplicationArgs args)AnalyticsApplication(java.lang.String name, AnalyticsApplicationArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<AnalyticsApplicationCloudwatchLoggingOptions>>cloudwatchLoggingOptions()com.pulumi.core.Output<java.util.Optional<java.lang.String>>code()com.pulumi.core.Output<java.lang.String>createTimestamp()com.pulumi.core.Output<java.util.Optional<java.lang.String>>description()static AnalyticsApplicationget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AnalyticsApplicationState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<AnalyticsApplicationInputs>>inputs()com.pulumi.core.Output<java.lang.String>lastUpdateTimestamp()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.util.Optional<java.util.List<AnalyticsApplicationOutput>>>outputs()com.pulumi.core.Output<java.util.Optional<AnalyticsApplicationReferenceDataSources>>referenceDataSources()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>startApplication()com.pulumi.core.Output<java.lang.String>status()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.Integer>version()
-
-
-
Constructor Detail
-
AnalyticsApplication
public AnalyticsApplication(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
AnalyticsApplication
public AnalyticsApplication(java.lang.String name, @Nullable AnalyticsApplicationArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
AnalyticsApplication
public AnalyticsApplication(java.lang.String name, @Nullable AnalyticsApplicationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the Kinesis Analytics Application.
-
cloudwatchLoggingOptions
public com.pulumi.core.Output<java.util.Optional<AnalyticsApplicationCloudwatchLoggingOptions>> cloudwatchLoggingOptions()
- Returns:
- CloudWatch log stream options to monitor application errors. See `cloudwatchLoggingOptions` Block below for details.
-
code
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> code()
- Returns:
- SQL Code to transform input data, and generate output.
-
createTimestamp
public com.pulumi.core.Output<java.lang.String> createTimestamp()
- Returns:
- Timestamp when the application version was created.
-
description
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
- Returns:
- Description of the application.
-
inputs
public com.pulumi.core.Output<java.util.Optional<AnalyticsApplicationInputs>> inputs()
- Returns:
- Input configuration of the application. See `inputs` Block below for details.
-
lastUpdateTimestamp
public com.pulumi.core.Output<java.lang.String> lastUpdateTimestamp()
- Returns:
- Timestamp when the application was last updated.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the Kinesis Analytics Application.
-
outputs
public com.pulumi.core.Output<java.util.Optional<java.util.List<AnalyticsApplicationOutput>>> outputs()
- Returns:
- Output destination configuration of the application. See `outputs` Block below for details.
-
referenceDataSources
public com.pulumi.core.Output<java.util.Optional<AnalyticsApplicationReferenceDataSources>> referenceDataSources()
- Returns:
- S3 Reference Data Source for the application. See `referenceDataSources` Block below for details.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
startApplication
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> startApplication()
- Returns:
- Whether to start or stop the Kinesis Analytics Application. To start an application, an input with a defined `startingPosition` must be configured. To modify an application's starting position, first stop the application by setting `startApplication = false`, then update `startingPosition` and set `startApplication = true`.
-
status
public com.pulumi.core.Output<java.lang.String> status()
- Returns:
- Status of the application.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
version
public com.pulumi.core.Output<java.lang.Integer> version()
- Returns:
- Version of the application.
-
get
public static AnalyticsApplication get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable AnalyticsApplicationState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-