ReferenceDataSourceProperty Struct
Describes the reference data source by providing the source information (S3 bucket name and object key name), the resulting in-application table name that is created, and the necessary schema to map the data elements in the Amazon S3 object to the in-application table.
Example
ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_kinesisanalytics as kinesisanalytics } from 'aws-cdk-lib';
const referenceDataSourceProperty: kinesisanalytics.CfnApplicationReferenceDataSource.ReferenceDataSourceProperty = {
referenceSchema: {
recordColumns: [{
name: 'name',
sqlType: 'sqlType',
// the properties below are optional
mapping: 'mapping',
}],
recordFormat: {
recordFormatType: 'recordFormatType',
// the properties below are optional
mappingParameters: {
csvMappingParameters: {
recordColumnDelimiter: 'recordColumnDelimiter',
recordRowDelimiter: 'recordRowDelimiter',
},
jsonMappingParameters: {
recordRowPath: 'recordRowPath',
},
},
},
// the properties below are optional
recordEncoding: 'recordEncoding',
},
// the properties below are optional
s3ReferenceDataSource: {
bucketArn: 'bucketArn',
fileKey: 'fileKey',
referenceRoleArn: 'referenceRoleArn',
},
tableName: 'tableName',
};
python
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_kinesisanalytics as kinesisanalytics
reference_data_source_property = kinesisanalytics.CfnApplicationReferenceDataSource.ReferenceDataSourceProperty(
reference_schema=kinesisanalytics.CfnApplicationReferenceDataSource.ReferenceSchemaProperty(
record_columns=[kinesisanalytics.CfnApplicationReferenceDataSource.RecordColumnProperty(
name="name",
sql_type="sqlType",
# the properties below are optional
mapping="mapping"
)],
record_format=kinesisanalytics.CfnApplicationReferenceDataSource.RecordFormatProperty(
record_format_type="recordFormatType",
# the properties below are optional
mapping_parameters=kinesisanalytics.CfnApplicationReferenceDataSource.MappingParametersProperty(
csv_mapping_parameters=kinesisanalytics.CfnApplicationReferenceDataSource.CSVMappingParametersProperty(
record_column_delimiter="recordColumnDelimiter",
record_row_delimiter="recordRowDelimiter"
),
json_mapping_parameters=kinesisanalytics.CfnApplicationReferenceDataSource.JSONMappingParametersProperty(
record_row_path="recordRowPath"
)
)
),
# the properties below are optional
record_encoding="recordEncoding"
),
# the properties below are optional
s3_reference_data_source=kinesisanalytics.CfnApplicationReferenceDataSource.S3ReferenceDataSourceProperty(
bucket_arn="bucketArn",
file_key="fileKey",
reference_role_arn="referenceRoleArn"
),
table_name="tableName"
)
java
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.kinesisanalytics.*;
ReferenceDataSourceProperty referenceDataSourceProperty = ReferenceDataSourceProperty.builder()
.referenceSchema(ReferenceSchemaProperty.builder()
.recordColumns(List.of(RecordColumnProperty.builder()
.name("name")
.sqlType("sqlType")
// the properties below are optional
.mapping("mapping")
.build()))
.recordFormat(RecordFormatProperty.builder()
.recordFormatType("recordFormatType")
// the properties below are optional
.mappingParameters(MappingParametersProperty.builder()
.csvMappingParameters(CSVMappingParametersProperty.builder()
.recordColumnDelimiter("recordColumnDelimiter")
.recordRowDelimiter("recordRowDelimiter")
.build())
.jsonMappingParameters(JSONMappingParametersProperty.builder()
.recordRowPath("recordRowPath")
.build())
.build())
.build())
// the properties below are optional
.recordEncoding("recordEncoding")
.build())
// the properties below are optional
.s3ReferenceDataSource(S3ReferenceDataSourceProperty.builder()
.bucketArn("bucketArn")
.fileKey("fileKey")
.referenceRoleArn("referenceRoleArn")
.build())
.tableName("tableName")
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.KinesisAnalytics;
var referenceDataSourceProperty = new ReferenceDataSourceProperty {
ReferenceSchema = new ReferenceSchemaProperty {
RecordColumns = new [] { new RecordColumnProperty {
Name = "name",
SqlType = "sqlType",
// the properties below are optional
Mapping = "mapping"
} },
RecordFormat = new RecordFormatProperty {
RecordFormatType = "recordFormatType",
// the properties below are optional
MappingParameters = new MappingParametersProperty {
CsvMappingParameters = new CSVMappingParametersProperty {
RecordColumnDelimiter = "recordColumnDelimiter",
RecordRowDelimiter = "recordRowDelimiter"
},
JsonMappingParameters = new JSONMappingParametersProperty {
RecordRowPath = "recordRowPath"
}
}
},
// the properties below are optional
RecordEncoding = "recordEncoding"
},
// the properties below are optional
S3ReferenceDataSource = new S3ReferenceDataSourceProperty {
BucketArn = "bucketArn",
FileKey = "fileKey",
ReferenceRoleArn = "referenceRoleArn"
},
TableName = "tableName"
};
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
referenceDataSourceProperty := &ReferenceDataSourceProperty{
ReferenceSchema: &ReferenceSchemaProperty{
RecordColumns: []interface{}{
&RecordColumnProperty{
Name: jsii.String("name"),
SqlType: jsii.String("sqlType"),
// the properties below are optional
Mapping: jsii.String("mapping"),
},
},
RecordFormat: &RecordFormatProperty{
RecordFormatType: jsii.String("recordFormatType"),
// the properties below are optional
MappingParameters: &MappingParametersProperty{
CsvMappingParameters: &CSVMappingParametersProperty{
RecordColumnDelimiter: jsii.String("recordColumnDelimiter"),
RecordRowDelimiter: jsii.String("recordRowDelimiter"),
},
JsonMappingParameters: &JSONMappingParametersProperty{
RecordRowPath: jsii.String("recordRowPath"),
},
},
},
// the properties below are optional
RecordEncoding: jsii.String("recordEncoding"),
},
// the properties below are optional
S3ReferenceDataSource: &S3ReferenceDataSourceProperty{
BucketArn: jsii.String("bucketArn"),
FileKey: jsii.String("fileKey"),
ReferenceRoleArn: jsii.String("referenceRoleArn"),
},
TableName: jsii.String("tableName"),
}
Properties
referenceSchemaIResolvable | CfnApplicationReferenceDataSource.ReferenceSchemaPropertyreference_schematyping.Union[IResolvable, ReferenceSchemaProperty]referenceSchemaIResolvableReferenceSchemaIResolvableReferenceSchemainterface{}required#Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.
s3ReferenceDataSourceoptionalIResolvable | CfnApplicationReferenceDataSource.S3ReferenceDataSourcePropertys3_reference_data_sourceoptionaltyping.Union[IResolvable, S3ReferenceDataSourceProperty]s3ReferenceDataSourceoptionalIResolvableS3ReferenceDataSourceoptionalIResolvableS3ReferenceDataSourceoptionalinterface{}#Identifies the S3 bucket and object that contains the reference data.
notes
Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.
tableNameoptionalstringtable_nameoptionalstrtableNameoptionalStringTableNameoptionalstringTableNameoptional*string#Name of the in-application table to create.