AWS 生命周期配置非当前版本转换:参数验证失败

AWS Lifecycle configuration Noncurrentversion transition: Parameter validation failed

我正在使用 aws cli 在 S3 存储桶上设置生命周期管理。我正在使用这个 json 脚本:

{
    "Rules": [
        {
            "Filter": {

            },
            "Status": "Enabled",
            "Transitions": [
        {
            "Days": 30,
            "StorageClass": "STANDARD_IA"
        },
                {
                    "Days": 365,
                    "StorageClass": "GLACIER"
                }
            ],
            "NoncurrentVersionTransitions": {
                "NoncurrentDays":  30,
                "StorageClass": "STANDARD_IA"
                },

            "Expiration": {
                "Days": 3650
            },
            "ID": "Test"
        }
    ]
}

我收到这个错误:

Parameter validation failed:
Invalid type for parameter 
LifecycleConfiguration.Rules[0].NoncurrentVersionTransitions, value: 
OrderedDict([(u'NoncurrentDays', 30), (u'StorageClass', u'STANDARD_IA')]), 
type: <class 'collections.OrderedDict'>, valid types: <type 'list'>, <type 
'tuple'>

当我排除有关 NoncurrentVersionTransitions 的部分时,脚本工作正常。我想知道如何正确包含 NoncurrentVersionTransitions。

提前致谢。

 "NoncurrentVersionTransitions": {
                "NoncurrentDays":  30,
                "StorageClass": "STANDARD_IA"
                },

替换为添加的[]

"NoncurrentVersionTransitions": [{
                    "NoncurrentDays":  30,
                    "StorageClass": "STANDARD_IA"
                    }],

解决问题。