所以,我在 S3 上有以下結構:
主桶
- 資料源/
- 陳述/
我們發生了DataFeeds/檔案夾被洗掉的事件!所以,我測驗了以下內容:
aws s3api put-object --bucket mainbucket --key DataFeeds/.donotdelete
但是,如果我執行此操作(blah.txt即使它不存在DataFeeds/也洗掉),檔案夾也會被洗掉:
aws s3 rm s3://mainbucket/DataFeeds/blah.txt
那么,我們如何防止檔案夾被洗掉S3呢?
使用的版本:
aws-cli/2.2.46 Python/3.9.7 Darwin/20.6.0 source/x86_64 prompt/off
uj5u.com熱心網友回復:
Amazon S3 中不存在檔案夾。它是一種“平面”存盤服務,其中Key物件的(檔案名)包括完整路徑,包括目錄。
Amazon S3 將為您“模擬”檔案夾。例如,如果您將檔案上傳到invoices/january.txt,則該invoices目錄將“神奇地”出現。如果您隨后洗掉該物件,則該目錄將“消失”。這是因為它從未真正存在過。
如果您使用S3 管理控制臺中的創建檔案夾按鈕,它將創建一個與目錄同名的零長度物件。這將“強制”目錄出現在存盤桶串列中。如果沒有具有相同前綴(路徑)的物件,則洗掉零長度物件將導致目錄消失。
使用 S3 的最佳建議是假裝檔案夾存在。您可以將物件放在任何路徑中,并且(假裝)目錄會神奇地出現。不要擔心目錄會消失,因為它們實際上從未存在過!
如果您確實需要保留空目錄,請使用“創建檔案夾”按鈕創建零長度物件。它將一直存在,直到您洗掉零長度物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/326602.html
上一篇:使用增量(但唯一)ID作為磁區鍵可以在DynamoDB中創建熱磁區嗎?
下一篇:Terraform匯入地圖資源
