簡體   English   中英

將 S3 存儲桶中給定文件的所有版本從一個文件夾移動到另一個文件夾

[英]Move all versions of a given file in a S3 bucket from one folder to another folder

我設置了一個啟用了版本控制的 S3 存儲桶。

一個外部進程正在將 json 文件(每個 json 文件對應於單個學生實體)寫入 S3 存儲桶。

我決定 S3 存儲桶文件夾結構如下:

 s3://student-data/new/ <-- THIS WILL CONTAIN ALL THE UNPROCESSED JSON FILES
 s3://student-data/processed/ <-- THIS WILL CONTAIN ALL THE PROCESSED JSON FILES.

現在,我有一個定期運行的 Cron,每 6 小時運行一次。

新的 JSON 文件由外部進程寫入new文件夾。

我希望 Cron 在new文件夾中處理所有 JSON 文件以及相關版本,處理結束后,將new文件夾中所有現有版本的所有文件移動到已processed文件夾。

在這里,我可以獲取寫入new文件夾的 json 文件的當前版本,並將其移動到已processed的文件夾后處理。

但是我不知道如何將所有版本的文件new版本移動到已processed文件,以便將來我不必處理相同版本的文件兩次。

Amazon S3 中的對象不能被“移動”。 相反,它們需要被復制到一個新的密鑰,然后原來的 object 應該被刪除

對於 object 的多個版本,此過程會更加困難。 您需要單獨復制和刪除每個版本,從最舊到最新,以在目標路徑中創建新版本。 不可能同時處理 object 的所有版本。

版本控制通常用於保留被覆蓋的數據。 您可能需要考慮在您的情況下是否需要版本控制,因為它會使過程相當復雜。

暫無
暫無

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

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