AWS CDK配置S3 Replication遇ReplicationTime报错及规则范围设置问题
问题1:RTC配置报错解决方案
报错原因是S3 Replication Time Control 特性仅支持V2版本的复制配置Schema,你当前使用的默认Schema版本为V1,不支持该参数。你需要在replicationConfiguration顶层显式指定Schema版本为V2,修正后的配置示例如下:
sourceBucket.replicationConfiguration = { // 新增这行指定Schema版本 schemaVersion: 'V2', role: replicationRole.roleArn, rules: [ { destination: { storageClass: ReplicationDestinationStorageClass.STANDARD_IA, bucket: destinationBucket.bucketArn, metrics: { status: "Enabled", eventThreshold: { minutes: 15, }, }, replicationTime: { status: "Enabled", time: { minutes: 15, }, }, }, status: ReplicationRuleStatus.ENABLED, }, ], };
如果配置后出现权限相关报错,需要为你的复制角色新增s3:PutReplicationTime、s3:GetReplicationTime权限。
问题2:复制规则默认带过滤器解决方案
你将配置升级到V2版本Schema之后,只要不在复制规则内添加任何filter相关参数(不要配置前缀过滤、标签过滤等规则),生成的复制规则默认就会匹配桶内所有对象,控制台对应会显示「该规则适用于存储桶内的所有对象」,不会自动选中过滤器选项。
如果你的CDK版本存在兼容性问题,依然自动生成了过滤器,可以在规则内显式添加filter: undefined配置强制关闭过滤逻辑。
内容的提问来源于stack exchange,提问作者WebSight
相关产品推荐
相关产品推荐

