2017-02-21 7 views
0

Faire cela (aws-sdk bijou rubis):Impossible de définir Bucket Lifecycle Configuration

s3_client.put_bucket_lifecycle_configuration({ 
    bucket: bucket, 
    lifecycle_configuration: { 
    rules: [ 
     { 
     id: "clean-temporary", 
     status: "Disabled", # required, accepts Enabled, Disabled 
     prefix: "temporary", 
     filter: { 
      prefix: "temporary", 
     }, 
     expiration: { 
      days: 1, 
     }, 
     }, 
    ], 
    }, 
}) 

Je suis une erreur: Aws::S3::Errors::BadRequest: [!]

Selon Notes de version, ma version (11) le supporte: S3 bucket lifecycle API a été ajouté. Notez qu'actuellement, il ne supporte que l'expiration d'objet.

Qu'est-ce que je fais mal?

UPD: Essayé le s3cmd, n'a pas aidé:

⇒ s3cmd -c s3cfg setlifecycle lifecycle_configuration.xml s3://my-new-bucket 
ERROR: S3 error: 405 (MethodNotAllowed) 
⇒ cat lifecycle_configuration.xml 
<?xml version="1.0" encoding="UTF-8"?> 
<LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Rule><ID>test</ID><Status>Enabled</Status><Expiration><Days>1</Days></Expiration><Prefix></Prefix></Rule></LifecycleConfiguration> 

Répondre

0

trouvé une solution de contournement:

s3cmd -c s3cfg setlifecycle lifecycle_configuration.xml s3://my-new-bucket --signature-v2 

probablement joyau aws-sdk est pas compatible avec cette fonctionnalité.