AWS CDK中 aws-kinesis
模块的 CfnDeliveryStream
类可以配置Kinesis Delivery Stream的动态分区。需要在 ExtendedS3DestinationConfiguration
属性中设置 S3Configuration
对象的 dynamicPartitioningConfiguration
属性为 DynamicPartitioningConfiguration
对象。示例代码如下:
import * as cdk from 'aws-cdk-lib';
import * as kinesis from 'aws-cdk-lib/aws-kinesis';
import * as s3 from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
class MyStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const deliveryStream = new kinesis.CfnDeliveryStream(this, 'MyDeliveryStream', {
deliveryStreamName: 'my-delivery-stream',
deliveryStreamType: 'DirectPut',
extendedS3DestinationConfiguration: {
bucketArn: 'arn:aws:s3:::my-bucket',
roleArn: 'arn:aws:iam::1234567890:role/my-delivery-stream',
dynamicPartitioningConfiguration: {
enabled: true,
retryOptions: {
durationInSeconds: 300
}
}
}
});
const bucket = new s3.Bucket(this, 'MyBucket', {
bucketName: 'my-bucket',
});
bucket.grantReadWrite(deliveryStream);
}
}