jeudi 12 mars 2020

XML parse failure on AWS S3 PutBucketLifecycleConfigurationRequest

I am trying to put bucket lifecycle configuration on objects in my s3 bucket but I am getting an XML parse error: ERROR: : MalformedXML: Unable to parse ExceptionName: MalformedXML Message: The XML you provided was not well-formed or did not validate against our published schema.

As I am simply utilising SDK functions I'm unsure how the XML format would be incorrect.

Here is the code I am using to make the request:

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);

Aucun commentaire:

Enregistrer un commentaire