如何使用 AWS Lambda for Firehose 和 CDK 启用转换源记录

jon*_*jon 5 amazon-s3 typescript aws-lambda amazon-kinesis-firehose aws-cdk

我正在尝试使用 CDK 启用资源转换(使用 Lambda)到 Kinesis Firehose。我已经知道如何使用控制台执行此操作,但我不知道如何使用 AWS CDK 实现此操作。这是我迄今为止使用 Typescript 的代码

// KINESIS STREAM
const kinesisStream = new kinesis.CfnDeliveryStream(this, `${props.name}-Kinesis`, {
  deliveryStreamName: `${props.name}-Stream`,
  deliveryStreamType: 'DirectPut',
  s3DestinationConfiguration: {
    bucketArn: props.eventsBucketArn,
    bufferingHints: {
      intervalInSeconds: 300,
      sizeInMBs: 5,
    },
    compressionFormat: 'UNCOMPRESSED',
    prefix: 'year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/',
    errorOutputPrefix: 'Errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}',
    roleArn: kinesisRole.roleArn
  }
});
Run Code Online (Sandbox Code Playgroud)

先谢谢您的帮助!

Mar*_*ius 3

检查ProcessingConfigurationProperty。Java代码:

List<Object> transformParams = new ArrayList<>();
transformParams.add(ProcessorParameterProperty.builder().
        parameterName("LambdaArn").
        parameterValue(transform.getFunctionArn()).
        build());
transformParams.add(ProcessorParameterProperty.builder().
        parameterName("RoleArn").
        parameterValue(transform.getRole().getRoleArn()).
        build());

extendedS3DestinationConfiguration(ExtendedS3DestinationConfigurationProperty.builder().
        cloudWatchLoggingOptions(CloudWatchLoggingOptionsProperty.builder().
                enabled(true).
                logGroupName(logGroup.getLogGroupName()).
                logStreamName(logStream.getLogStreamName()).
                build()).
        bucketArn(bucket.getBucketArn()).
        bufferingHints(BufferingHintsProperty.builder().
                intervalInSeconds(180).
                sizeInMBs(1).
                build()).
        compressionFormat("UNCOMPRESSED").
        roleArn(role.getRoleArn()).
        processingConfiguration(ProcessingConfigurationProperty.builder().
                enabled(Boolean.TRUE).
                processors(processors).
                build()).
        build()).
Run Code Online (Sandbox Code Playgroud)