[英]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.