Я пытаюсь прочитать-изменить-записать существующую конфигурацию жизненного цикла. Итак, более простая вещь, на которую я смотрю, - это копирование конфигурации жизненного цикла между бакетами. После прочтения документации должно получиться что-то вроде:
aws s3api get-bucket-lifecycle-configuration --bucket source-backup > \
bucket-lifecycle-configuration.json
Вот созданный файл:
[nuevo:~] more bucket-lifecycle-configuration.json
{
"Rules": [
{
"Status": "Enabled",
"Prefix": "",
"NoncurrentVersionExpiration": {
"NoncurrentDays": 180
},
"Expiration": {},
"ID": "DeleteRevisionsOlderThan180Days"
}
]
}
Затем, чтобы записать это в другое ведро, оно должно быть что-то вроде:
aws s3api put-bucket-lifecycle-configuration --bucket dest-backup \
--cli-input-json file://bucket-lifecycle-configuration.json
или
aws s3api put-bucket-lifecycle-configuration --bucket dest-backup \
--lifecycle-configuration file://bucket-lifecycle-configuration.json
Но первый дает ошибку:
Parameter validation failed:
Unknown parameter in input: "Rules", must be one of: Bucket, LifecycleConfiguration
И вторая команда, похоже, не обнаруживает, что это 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
Любые намеки на то, что происходит не так. Похоже из документации на положить ведро-жизненный цикл-конфигурация что это просто ошибка ... но опять же, я могу что-то неправильно настроить или что-то делаю неправильно?