桶之间的AWS CLI put-lifecycle-configuration

我有一个桶,我手动创build一个对象生命周期策略; 现在我想把这个政策应用到其他的桶里。 我运行以下命令来获取现有策略:

aws s3api get-bucket-lifecycle --bucket mybucket > s3_lifecyclepolicy.json

其中生成这个文件:

 { "Rules": [ { "Expiration": { "Days": 7 }, "ID": "7 Day Expire", "Status": "Enabled", "NoncurrentVersionExpiration": { "NoncurrentDays": 14 } } ] } 

然后我尝试运行应用这样的政策:

aws s3api put-bucket-lifecycle-configuration --bucket anotherbucket --lifecycle-configuration file://s3_lifecyclepolicy.json

但是得到这个错误:

 A client error (MalformedXML) occurred when calling the PutBucketLifecycleConfiguration operation: The XML you provided was not well-formed or did not validate against our published schema 

我已经尝试修改json,并且cli会出错,出现语法错误,所以json应该是正确的,但是我不确定XML相关错误来自哪里。 有什么build议么?

看起来Prefix是一个必需的参数,即使它不显示在get-bucket-lifecycle输出中。

这个版本的作品:

 { "Rules": [ { "Expiration": { "Days": 7 }, "ID": "7 Day Expire", "Prefix": "", "Status": "Enabled", "NoncurrentVersionExpiration": { "NoncurrentDays": 14 } } ] }