[英]Malformed XML error while creating the S3 life cycle policy using boto3
我正在尝试使用 boto3 将生命周期规则添加到 s3 存储桶。 但遇到以下错误“添加生命周期时出错调用 PutBucketLifecycleConfiguration 操作时发生错误(MalformedXML):您提供的 XML 格式不正确或未根据我们发布的架构进行验证” 。 知道为什么我会收到此错误吗?
这是我要创建的规则
s3 = boto3.resource("s3")
bucket_lifecycle_configuration = s3.BucketLifecycleConfiguration(bucket_name)
date = date.today()
response = bucket_lifecycle_configuration.put(
LifecycleConfiguration={
'Rules': [
{
'Expiration': {
'Date': datetime(date.year, date.month, date.day),
'ExpiredObjectDeleteMarker': True
},
'ID': 'Move unused bucket to Glacier',
'Prefix': '',
'Status': 'Enabled',
'Transitions': [
{
'Date': datetime(date.year, date.month, date.day),
'StorageClass': 'GLACIER'
}
],
'NoncurrentVersionTransitions': [
{
'NoncurrentDays': 123,
'StorageClass': 'GLACIER'
}
],
'NoncurrentVersionExpiration': {
'NoncurrentDays': 123
},
'AbortIncompleteMultipartUpload': {
'DaysAfterInitiation': 123
}
},
]
}
)
这是因为ExpiredObjectDeleteMarker
标志不能与Dates
或Days
一起使用。 这就是MalformedXML
异常的原因。 它在所附参考资料中进行了解释。
另请注意NoncurrentVersionExpiration
日期不能与NoncurrentVersionTransitions
日期相同。 截止日期应在过渡日期之后。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.