Назад | Перейти на главную страницу

AWS CLI копирует конфигурацию жизненного цикла между бакетами

Я пытаюсь прочитать-изменить-записать существующую конфигурацию жизненного цикла. Итак, более простая вещь, на которую я смотрю, - это копирование конфигурации жизненного цикла между бакетами. После прочтения документации должно получиться что-то вроде:

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

Любые намеки на то, что происходит не так. Похоже из документации на положить ведро-жизненный цикл-конфигурация что это просто ошибка ... но опять же, я могу что-то неправильно настроить или что-то делаю неправильно?