2017-04-20 7 views
1

softlayer上にオブジェクトストレージアカウントを使用しており、時間を有効に実装するためにバケット上でライフサイクル設定を作成します。 私はaws-sdk-javaライブラリをamazonクライアントとして使用しています。softlayerクラウドオブジェクトストレージはバケットライフサイクル設定をサポートしています

ただし、 などの任意のリクエストs3client.setBucketLifecycleConfiguration(bucketName、configuration); バケツがすでに存在する例外を返します。アマゾンのドキュメントでは、上記のapi呼び出しを行う前にバケットが存在することが必須です。オブジェクトストレージがこのAPI呼び出しをサポートしておらず、そのときに間違ったエラーメッセージを返すように見えます。

ご協力いただきまして誠にありがとうございます。

答えて

0

正しいですが、S3 APIのCOS実装はライフサイクルポリシーをサポートしていません(オブジェクト期限は間違いなくロードマップにあります)。バケットやオブジェクト用のTTLロジックは、今のところアプリケーション側で行う必要があります。 Nelsonの答えには、サポートされている操作の現在のサブセットをリストしているドキュメントへのリンクがあります。

エラーメッセージに関する限り、どのように紛らわしいのか分かります。システムがHTTPコールでサポートされていないクエリパラメータを無視していて、システムが見るのはPUTというバケットエンドポイントへのリクエストだけで、バケットはすでに存在しています。私は、この動作について、ドキュメントを指摘してくれたことに感謝します。

+1

ありがとうNick ..と思っていたこと..定期的にdeleteObjects API呼び出しを呼び出して期限切れのオブジェクトを削除するアプリケーション側のスケジューラを実行します。 –

関連する問題