2017-04-20 4 views
1

Wir verwenden ein Objektspeicherkonto auf Softlayer und versuchen, eine Lebenszykluskonfiguration für die Buckets zu erstellen, um die Lebenszeit zu implementieren. Ich benutze die aws-sdk-java-Bibliothek als Amazon-Client.Unterstützt den Cloud-Objektspeicher von slaylayer Bucket Lifecycle-Konfiguration

jedoch alle Anfragen wie s3client.setBucketLifecycleConfiguration (BucketName, Konfiguration); gibt einen Bucket bereits exception aus, per amazon docs ist es zwingend erforderlich, dass der Bucket existiert, bevor der obige API-Aufruf ausgeführt wird. Es scheint mir, dass der Objektspeicher diesen API-Aufruf nicht unterstützt und eine falsche Fehlermeldung zurückgibt.

Jede Hilfe wird sehr geschätzt.

Antwort

0

Sie haben Recht, die COS-Implementierung der S3-API unterstützt keine Lebenszyklusrichtlinien (obwohl der Objektablauf definitiv auf der Roadmap steht). Jede TTL-Logik für Buckets oder Objekte muss vorläufig auf der Anwendungsseite erfolgen. Nelsons Antwort enthält den Link zu den Dokumenten, die die aktuelle Teilmenge der unterstützten Operationen auflisten.

Soweit die Fehlermeldung betrifft, kann ich sehen, wie das wäre verwirrend. Was passiert, ist, dass das System den nicht unterstützten Abfrageparameter im HTTP-Aufruf ignoriert und das einzige, was das System sieht, ist eine PUT Anfrage an einen Bucket-Endpunkt, und der Bucket existiert bereits. Ich werde der Dokumentation zu diesem Verhalten eine Notiz hinzufügen, danke, dass Sie darauf hingewiesen haben.

+1

Dank Nick .. und das ist, was ich dachte .. einen Scheduler auf der Anwendungsseite, die in regelmäßigen Abständen ruft die deleteObjects API-Aufruf, um die abgelaufenen Objekte zu löschen. –

Verwandte Themen