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

CDK Python配置S3跨区域复制synth报union类型匹配错误如何排查

问题修复方案

报错的核心原因是两个字段的传入类型不符合CDK的类型定义要求,修改方案如下:

错误点说明

  • destination 字段不能直接传入目标桶ARN字符串,必须传入 s3.CfnBucket.ReplicationDestinationProperty 类型对象
  • source_selection_criteria 字段必须传入 s3.CfnBucket.SourceSelectionCriteriaProperty 类型对象,你当前直接传入了 SseKmsEncryptedObjectsProperty 类型对象,触发了联合类型匹配失败的报错

修复后代码示例

self.replication_conf = s3.CfnBucket.ReplicationConfigurationProperty(
    role=new_role_arn,
    rules=[
        s3.CfnBucket.ReplicationRuleProperty(
            id='replicate-all-rule',
            # 修复destination字段,包裹为ReplicationDestinationProperty
            destination=s3.CfnBucket.ReplicationDestinationProperty(
                bucket=some_arn
            ),
            status='Enabled',
            # 修复source_selection_criteria字段,先套SourceSelectionCriteriaProperty
            source_selection_criteria = s3.CfnBucket.SourceSelectionCriteriaProperty(
                sse_kms_encrypted_objects=s3.CfnBucket.SseKmsEncryptedObjectsProperty(
                    status='Enabled'
                )
            )
        )         
    ]
)

修改完成后重新执行cdk synth即可正常生成模板。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:09:01