Package: aws-solutions-constructs.aws-kinesis-firehose-s3-kinesis-analytics
aws-kinesisfirehose-s3-and-kinesisanalytics module---All classes are under active development and subject to non-backward compatible changes or removal in any
future version. These are not subject to theSemantic Versioningmodel.
This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.Reference Documentation:https://docs.aws.amazon.com/solutions/latest/constructs/LanguagePackagePythonaws_solutions_constructs.aws_kinesisfirehose_s3_and_kinesisanalyticsTypescript@aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalyticsJavasoftware.amazon.awsconstructs.services.kinesisfirehoses3kinesisanalyticsOverviewThis AWS Solutions Construct implements an Amazon Kinesis Firehose delivery stream connected to an Amazon S3 bucket, and an Amazon Kinesis Analytics application.Here is a minimal deployable pattern definition:Typescriptimport{Construct}from'constructs';import{Stack,StackProps}from'aws-cdk-lib';import{KinesisFirehoseToAnalyticsAndS3}from'@aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics';newKinesisFirehoseToAnalyticsAndS3(this,'FirehoseToS3AndAnalyticsPattern',{kinesisAnalyticsProps:{inputs:[{inputSchema:{recordColumns:[{name:'ticker_symbol',sqlType:'VARCHAR(4)',mapping:'$.ticker_symbol'},{name:'sector',sqlType:'VARCHAR(16)',mapping:'$.sector'},{name:'change',sqlType:'REAL',mapping:'$.change'},{name:'price',sqlType:'REAL',mapping:'$.price'}],recordFormat:{recordFormatType:'JSON'},recordEncoding:'UTF-8'},namePrefix:'SOURCE_SQL_STREAM'}]}});Pythonfromaws_solutions_constructs.aws_kinesis_firehose_s3_kinesis_analyticsimportKinesisFirehoseToAnalyticsAndS3fromaws_cdkimport(aws_kinesisanalyticsaskinesisanalytics,Stack)fromconstructsimportConstructKinesisFirehoseToAnalyticsAndS3(self,'FirehoseToS3AndAnalyticsPattern',kinesis_analytics_props=kinesisanalytics.CfnApplicationProps(inputs=[kinesisanalytics.CfnApplication.InputProperty(input_schema=kinesisanalytics.CfnApplication.InputSchemaProperty(record_columns=[kinesisanalytics.CfnApplication.RecordColumnProperty(name='ticker_symbol',sql_type='VARCHAR(4)',mapping='$.ticker_symbol'),kinesisanalytics.CfnApplication.RecordColumnProperty(name='sector',sql_type='VARCHAR(16)',mapping='$.sector'),kinesisanalytics.CfnApplication.RecordColumnProperty(name='change',sql_type='REAL',mapping='$.change'),kinesisanalytics.CfnApplication.RecordColumnProperty(name='price',sql_type='REAL',mapping='$.price')],record_format=kinesisanalytics.CfnApplication.RecordFormatProperty(record_format_type='JSON'),record_encoding='UTF-8'),name_prefix='SOURCE_SQL_STREAM')]))Javaimportsoftware.constructs.Construct;importjava.util.List;importsoftware.amazon.awscdk.Stack;importsoftware.amazon.awscdk.StackProps;importsoftware.amazon.awscdk.services.kinesisanalytics.*;importsoftware.amazon.awscdk.services.kinesisanalytics.CfnApplication.*;importsoftware.amazon.awsconstructs.services.kinesisfirehoses3kinesisanalytics.*;newKinesisFirehoseToAnalyticsAndS3(this,"FirehoseToS3AndAnalyticsPattern",newKinesisFirehoseToAnalyticsAndS3Props.Builder().kinesisAnalyticsProps(newCfnApplicationProps.Builder().inputs(List.of(newInputProperty.Builder().inputSchema(newInputSchemaProperty.Builder().recordColumns(List.of(newRecordColumnProperty.Builder().name("ticker_symbol").sqlType("VARCHAR(4)").mapping("$.ticker_symbol").build(),newRecordColumnProperty.Builder().name("sector").sqlType("VARCHAR(16)").mapping("$.sector").build(),newRecordColumnProperty.Builder().name("change").sqlType("REAL").mapping("$.change").build(),newRecordColumnProperty.Builder().name("price").sqlType("REAL").mapping("$.price").build())).recordFormat(newRecordFormatProperty.Builder().recordFormatType("JSON").build()).recordEncoding("UTF-8").build()).namePrefix("SOURCE_SQL_STREAM").build())).build()).build());Pattern Construct PropsNameTypeDescriptionkinesisFirehoseProps?kinesisFirehose.CfnDeliveryStreamPropsOptional user-provided props to override the default props for the Kinesis Firehose delivery stream.kinesisAnalyticsProps?kinesisAnalytics.CfnApplicationPropsOptional user-provided props to override the default props for the Kinesis Analytics application.existingBucketObj?s3.IBucketExisting instance of S3 Bucket object. If this is provided, then also providing bucketProps is an error.bucketProps?s3.BucketPropsUser provided props to override the default props for the S3 Bucket.logGroupProps?logs.LogGroupPropsUser provided props to override the default props for for the CloudWatchLogs LogGroup.loggingBucketProps?s3.BucketPropsOptional user provided props to override the default props for the S3 Logging Bucket.logS3AccessLogs?booleanWhether to turn on Access Logging for the S3 bucket. Creates an S3 bucket with associated storage costs for the logs. Enabling Access Logging is a best practice. default - truePattern PropertiesNameTypeDescriptionkinesisAnalyticskinesisAnalytics.CfnApplicationReturns an instance of the Kinesis Analytics application created by the pattern.kinesisFirehosekinesisFirehose.CfnDeliveryStreamReturns an instance of the Kinesis Firehose delivery stream created by the pattern.kinesisFirehoseRoleiam.RoleReturns an instance of the iam.Role created by the construct for Kinesis Data Firehose delivery stream.kinesisFirehoseLogGrouplogs.LogGroupReturns an instance of the LogGroup created by the construct for Kinesis Data Firehose delivery streams3Bucket?s3.BucketReturns an instance of the S3 bucket created by the pattern.s3LoggingBucket?s3.BucketReturns an instance of s3.Bucket created by the construct as the logging bucket for the primary bucket.s3BucketInterfaces3.IBucketReturns an instance of s3.IBucket created by the construct.Default settingsOut of the box implementation of the Construct without any override will set the following defaults:Amazon Kinesis FirehoseEnable CloudWatch logging for Kinesis FirehoseConfigure least privilege access IAM role for Amazon Kinesis FirehoseAmazon S3 BucketConfigure Access logging for S3 BucketEnable server-side encryption for S3 Bucket using AWS managed KMS KeyEnforce encryption of data in transitTurn on the versioning for S3 BucketDon't allow public access for S3 BucketRetain the S3 Bucket when deleting the CloudFormation stackApplies Lifecycle rule to move noncurrent object versions to Glacier storage after 90 daysAmazon Kinesis Data AnalyticsConfigure least privilege access IAM role for Amazon Kinesis AnalyticsArchitecture© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.