Неправильная XML ошибка при AWS S3 PutBucketLifecycleConfiguration - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь разместить конфигурацию жизненного цикла корзины на объектах в моей корзине s3, но получаю сообщение об ошибке: MalformedXML: Unable to parse ExceptionName: MalformedXML Message: The XML you provided was not well-formed or did not validate against our published schema.

Поскольку я использую функции SDK, я не уверен, как формат XML будет быть неверным.

Вот код, который я использую для запроса:

LifecycleRule LCR;

LCR.SetID("archive immediate rule");

//Set Filter of objects
LifecycleRuleFilter my_filter;
my_filter.SetPrefix("my/videos"); 
LCR.SetFilter(my_filter);  

// Set transition of lifecyclerule
Transition my_transition;
my_transition.SetDays(30);    

TransitionStorageClass my_transitionstorageclass=TransitionStorageClass::STANDARD_IA;
my_transition.SetStorageClass(my_transitionstorageclass);   

// transition vector
Aws::Vector<Transition> m_transitionvector;
m_transitionvector.push_back(my_transition);

LCR.SetTransitions(m_transitionvector);

// Set status of lifecyclerule
ExpirationStatus My_expiration = ExpirationStatus::Enabled;
LCR.SetStatus(My_expiration);

//Set expiration of lifecyclerule
LifecycleExpiration my_lifecycleexpiration;
my_lifecycleexpiration.SetDays(32);
my_lifecycleexpiration.SetExpiredObjectDeleteMarker(true);    

LCR.SetExpiration(my_lifecycleexpiration);

// Abort incomplete upload
AbortIncompleteMultipartUpload my_incmpltupload;
my_incmpltupload.SetDaysAfterInitiation(7);

LCR.WithAbortIncompleteMultipartUpload(my_incmpltupload);

Aws::Vector<LifecycleRule> My_lcr;
My_lcr.push_back(LCR);    

Aws::S3::Model::BucketLifecycleConfiguration BLCC;
BLCC.SetRules(My_lcr); 

Aws::Client::ClientConfiguration config;
config.region = "us-east-1";
Aws::S3::S3Client client(config);

Aws::S3::Model::PutBucketLifecycleConfigurationRequest request;  
request.SetBucket("bucket_name");
request.SetLifecycleConfiguration(BLCC);
auto outcome = client.PutBucketLifecycleConfiguration(request);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...