我使用CDK python来创建S3桶和复制。跨区域的配置
我一直得到一个错误当我synth:
值与联合中的任何类型不匹配
下面是我的s3.CfnBucket.ReplicationConfigurationProperty的规则部分的代码:
有人可以检查我的源代码选择区域的代码。我认为这就是问题所在:
self.replication_conf = s3.CfnBucket.ReplicationConfigurationProperty(
role=new_role_arn,
rules=[
s3.CfnBucket.ReplicationRuleProperty(
id='replicate-all-rule',
destination=some_arn,
status='Enabled',
source_selection_criteria = s3.CfnBucket.SseKmsEncryptedObjectsProperty(
status='Enabled'
)
)
]
)
看来你的语法根本不正确。
根据文档source_selection_criteria
应该是SourceSelectionCriteriaProperty
类型。正是这种性质使SseKmsEncryptedObjectsProperty
保持不变。假设这是正确的(尽管它未经测试):
self.replication_conf = s3.CfnBucket.ReplicationConfigurationProperty(
role=new_role_arn,
rules=[
s3.CfnBucket.ReplicationRuleProperty(
id='replicate-all-rule',
destination=some_arn,
status='Enabled',
source_selection_criteria=s3.CfnBucket.SourceSelectionCriteriaProperty(
sse_kms_encrypted_objects=s3.CfnBucket.SseKmsEncryptedObjectsProperty(
status='Enabled'
)
)
)
]
)