AWS CLI coloca a configuração do ciclo de vida entre os baldes

2

Eu tenho um bucket para o qual criei manualmente uma política de ciclo de vida do objeto; Agora gostaria de aplicar essa política a outros intervalos. Eu corro o seguinte comando para obter a política existente:

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

Que gera este arquivo:

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

Eu então tento executar a política da seguinte forma:

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

Mas consiga este erro:

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

Eu tentei modificar o json, e o cli irá cometer um erro de sintaxe, então o json deve estar correto, mas não tenho certeza de onde o erro relacionado ao XML está vindo. Alguma sugestão?

    
por gsoyka 21.06.2017 / 18:11

1 resposta

1

Parece que Prefix é um parâmetro obrigatório, mesmo que não tenha sido exibido na saída get-bucket-lifecycle .

Esta versão funciona:

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