Amazon Kinesis Analytics
kinesisanalytics (API Version 2018-05-23)

CreateApplication

Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see Creating an Application.

Request Syntax

{ "ApplicationConfiguration": { "ApplicationCodeConfiguration": { "CodeContent": { "S3ContentLocation": { "BucketARN": "string", "FileKey": "string", "ObjectVersion": "string" }, "TextContent": "string", "ZipFileContent": blob }, "CodeContentType": "string" }, "ApplicationSnapshotConfiguration": { "SnapshotsEnabled": boolean }, "EnvironmentProperties": { "PropertyGroups": [ { "PropertyGroupId": "string", "PropertyMap": { "string" : "string" } } ] }, "FlinkApplicationConfiguration": { "CheckpointConfiguration": { "CheckpointingEnabled": boolean, "CheckpointInterval": number, "ConfigurationType": "string", "MinPauseBetweenCheckpoints": number }, "MonitoringConfiguration": { "ConfigurationType": "string", "LogLevel": "string", "MetricsLevel": "string" }, "ParallelismConfiguration": { "AutoScalingEnabled": boolean, "ConfigurationType": "string", "Parallelism": number, "ParallelismPerKPU": number } }, "SqlApplicationConfiguration": { "Inputs": [ { "InputParallelism": { "Count": number }, "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "string" } }, "InputSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "KinesisFirehoseInput": { "ResourceARN": "string" }, "KinesisStreamsInput": { "ResourceARN": "string" }, "NamePrefix": "string" } ], "Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string" }, "LambdaOutput": { "ResourceARN": "string" }, "Name": "string" } ], "ReferenceDataSources": [ { "ReferenceSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "S3ReferenceDataSource": { "BucketARN": "string", "FileKey": "string" }, "TableName": "string" } ] } }, "ApplicationDescription": "string", "ApplicationName": "string", "CloudWatchLoggingOptions": [ { "LogStreamARN": "string" } ], "RuntimeEnvironment": "string", "ServiceExecutionRole": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

Request Parameters

The request accepts the following data in JSON format.

ApplicationConfiguration

Use this parameter to configure the application.

Type: ApplicationConfiguration object

Required: No

ApplicationDescription

A summary description of the application.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Required: No

ApplicationName

The name of your application (for example, sample-app).

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9_.-]+

Required: Yes

CloudWatchLoggingOptions

Use this parameter to configure an Amazon CloudWatch log stream to monitor application configuration errors.

Type: Array of CloudWatchLoggingOption objects

Required: No

RuntimeEnvironment

The runtime environment for the application (SQL-1.0 or FLINK-1_6).

Type: String

Valid Values: SQL-1_0 | FLINK-1_6

Required: Yes

ServiceExecutionRole

The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose delivery streams, Amazon S3 objects, and other external resources.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: arn:aws:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Required: Yes

Tags

A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

Type: Array of Tag objects

Array Members: Minimum number of 1 item. Maximum number of 200 items.

Required: No

Response Syntax

{ "ApplicationDetail": { "ApplicationARN": "string", "ApplicationConfigurationDescription": { "ApplicationCodeConfigurationDescription": { "CodeContentDescription": { "CodeMD5": "string", "CodeSize": number, "S3ApplicationCodeLocationDescription": { "BucketARN": "string", "FileKey": "string", "ObjectVersion": "string" }, "TextContent": "string" }, "CodeContentType": "string" }, "ApplicationSnapshotConfigurationDescription": { "SnapshotsEnabled": boolean }, "EnvironmentPropertyDescriptions": { "PropertyGroupDescriptions": [ { "PropertyGroupId": "string", "PropertyMap": { "string" : "string" } } ] }, "FlinkApplicationConfigurationDescription": { "CheckpointConfigurationDescription": { "CheckpointingEnabled": boolean, "CheckpointInterval": number, "ConfigurationType": "string", "MinPauseBetweenCheckpoints": number }, "JobPlanDescription": "string", "MonitoringConfigurationDescription": { "ConfigurationType": "string", "LogLevel": "string", "MetricsLevel": "string" }, "ParallelismConfigurationDescription": { "AutoScalingEnabled": boolean, "ConfigurationType": "string", "CurrentParallelism": number, "Parallelism": number, "ParallelismPerKPU": number } }, "RunConfigurationDescription": { "ApplicationRestoreConfigurationDescription": { "ApplicationRestoreType": "string", "SnapshotName": "string" } }, "SqlApplicationConfigurationDescription": { "InputDescriptions": [ { "InAppStreamNames": [ "string" ], "InputId": "string", "InputParallelism": { "Count": number }, "InputProcessingConfigurationDescription": { "InputLambdaProcessorDescription": { "ResourceARN": "string", "RoleARN": "string" } }, "InputSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "InputStartingPositionConfiguration": { "InputStartingPosition": "string" }, "KinesisFirehoseInputDescription": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsInputDescription": { "ResourceARN": "string", "RoleARN": "string" }, "NamePrefix": "string" } ], "OutputDescriptions": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutputDescription": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsOutputDescription": { "ResourceARN": "string", "RoleARN": "string" }, "LambdaOutputDescription": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string", "OutputId": "string" } ], "ReferenceDataSourceDescriptions": [ { "ReferenceId": "string", "ReferenceSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "S3ReferenceDataSourceDescription": { "BucketARN": "string", "FileKey": "string", "ReferenceRoleARN": "string" }, "TableName": "string" } ] } }, "ApplicationDescription": "string", "ApplicationName": "string", "ApplicationStatus": "string", "ApplicationVersionId": number, "CloudWatchLoggingOptionDescriptions": [ { "CloudWatchLoggingOptionId": "string", "LogStreamARN": "string", "RoleARN": "string" } ], "CreateTimestamp": number, "LastUpdateTimestamp": number, "RuntimeEnvironment": "string", "ServiceExecutionRole": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

ApplicationDetail

In response to your CreateApplication request, Kinesis Data Analytics returns a response with details of the application it created.

Type: ApplicationDetail object

Errors

CodeValidationException

The user-provided application code (query) is not valid. This can be a simple syntax error.

HTTP Status Code: 400

ConcurrentModificationException

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.

HTTP Status Code: 400

InvalidArgumentException

The specified input parameter value is not valid.

HTTP Status Code: 400

InvalidRequestException

The request JSON is not valid for the operation.

HTTP Status Code: 400

LimitExceededException

The number of allowed resources has been exceeded.

HTTP Status Code: 400

ResourceInUseException

The application is not available for this operation.

HTTP Status Code: 400

TooManyTagsException

Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: