Я пытаюсь сделать запрос PUT через REST API, чтобы установить правило жизненного цикла, как описано здесь: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.htmlAmazon S3 REST API искаженной XML Ошибка на PutBucketLifeCycle
Но даже когда я PUT те же XML-данные, как и в Пример 1, я получаю «Ошибка XML с ошибкой». Также Content-Length и MD5 запроса в этом примере кажутся недействительными, поскольку я вычисляю разные значения.
Мой пут:
PUT https://myBucket.s3-eu-central-1.amazonaws.com/?lifecycle
Content-length: 397
Content-MD5: Or7bcOqR6tcsifiqQpq1tw==
… (Signature headers etc.)
<LifecycleConfiguration>
<Rule>
<ID>id1</ID>
<Prefix>documents/</Prefix>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>GLACIER</StorageClass>
</Transition>
</Rule>
<Rule>
<ID>id2</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>365</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
и имеет Content-Length из и MD5 из Or7bcOqR6tcsifiqQpq1tw ==
Я получаю эту ошибку:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>MalformedXML</Code>
<Message>The XML you provided was not well-formed or did not validate against our published schema</Message>
<RequestId>FC82F477B48DF40D</RequestId>
<HostId>5nJaHpypZQ/boh5fmtYWcvozeRO/OYIfuvYRXj2Un56tWPP2sj2jpazl0Xyl09Ic4s2lxh0l+C8=</HostId>
</Error>
Любая помощь по этому поводу ценится!
Спасибо!