簡體   English   中英

使用 java sdk 設置亞馬遜 s3 object 的到期日期 object

[英]set object expiry date for amazon s3 object using java sdk

我正在嘗試使用 java sdk 在亞馬遜 S3 存儲中上傳一個文件,使用 objectMetadata 為 object 啟用明確的到期日期。 當我運行程序時,它會上傳到 S3 並按預期將過期日期設置為 object 元數據,但最終它似乎不會在過期日期后被刪除。 我不確定我哪里做錯了。 下面是我用來設置 object 元數據的代碼片段。

PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, file);
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setHttpExpiresDate(new DateTime().plusDays(1).toDate());
putObjectRequest.setMetadata(objectMetadata);
return s3.putObject(putObjectRequest);

我一直在瀏覽一些亞馬遜文檔https://docs.aws.amazon.com/AmazonS3/latest/dev/manage-lifecycle-using-java.html說要設置 BucketLifeCycle 配置規則。 我不確定如果我應用此規則,它將應用於此存儲桶下的所有文件夾和對象,還是僅應用於我通過我的 java 程序使用此規則上傳的對象?

請建議,提前致謝!

按照文檔,您不能直接為特定的 object 設置到期日期。

要解決此問題,您可以:

  1. 為桶定義生命周期規則(在天數后刪除帶有對象的桶)
  2. 定義存儲桶的生命周期規則以在天數后刪除具有特定標簽或前綴的對象

要創建規則,請使用文檔:

https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM