You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CDK中哪个类可配置Kinesis Delivery Stream动态分区

解决方案

AWS CDK 的 CfnDeliveryStream 原生支持S3目标端的动态分区配置,你需要在现有s3DestinationConfiguration配置基础上补充动态分区开关、数据处理规则、动态分区前缀规则三个部分即可,完整实现示例如下:

new CfnDeliveryStream(this, `Export-delivery-stream`, {
  s3DestinationConfiguration: {
    bucketArn: bucket.bucketArn,
    roleArn: kinesisFirehoseRole.roleArn,
    // 前缀加入动态分区键,格式为 !{自定义分区键名}
    prefix: `test/!{timestamp:yyyy/MM/dd}/!{event_source}/!{event_region}/`,
    errorOutputPrefix: `firehose-error/!{timestamp:yyyy/MM/dd}/`,
    // 开启动态分区
    dynamicPartitioningConfiguration: {
      enabled: true,
      retryOptions: {
        durationInSeconds: 300
      }
    },
    // 配置数据处理,从EventBridge事件中提取分区键
    processingConfiguration: {
      enabled: true,
      processors: [
        {
          type: "JQ",
          parameters: [
            {
              parameterName: "Expression",
              // 示例:从EventBridge事件中提取source和region字段作为分区键,根据你的实际事件结构调整
              parameterValue: "{partitionKeyFromQuery: {event_source: .source, event_region: .region}}"
            }
          ]
        }
      ]
    }
  }
});

关键配置说明

  • 动态分区开关:dynamicPartitioningConfiguration.enabled 设为true即可启用动态分区功能,可通过retryOptions配置分区失败的重试时长
  • 分区键提取规则:processingConfiguration 中使用内置JQ处理器(无需额外部署Lambda)从EventBridge事件载荷提取字段作为分区键,你可以根据自身业务的事件结构调整JQ表达式
  • 分区前缀规则:前缀中使用!{partitionKey名称}的格式引用你提取的分区键,同时支持保留原有的时间戳内置变量
  • 权限注意:你使用的kinesisFirehoseRole需要附加Firehose基础操作权限,若使用自定义Lambda做分区键提取还需要附加Lambda调用权限

内容的提问来源于stack exchange,提问作者saif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:09:04