[英]How do I update the meta-data of a directory using aws s3 cli?
我試圖在 bash 腳本中使用以下命令遞歸更新文件和文件夾的 x-amz-meta-uid 和 x-amz-meta-gid。
aws s3 cp s3://$SOURCE_CLOUD_BUCKET_PATH s3://$DESTINATION_CLOUD_BUCKET_PATH --recursive --quiet --metadata-directive "REPLACE" --metadata "uid=$USER_UID,gid=$USER_GID"
但是,它似乎只是在更新文件的元數據。 我怎樣才能得到它來更新目錄/文件夾上的元數據?
aws --version
aws-cli/2.0.43 Python/3.7.3 Linux/5.4.0-1029-aws exe/x86_64.ubuntu.18
正如 AWS S3 文檔所述: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html
在 Amazon S3 中,存儲桶和對象是主要資源,對象存儲在存儲桶中。 Amazon S3 具有平面結構,而不是您在文件系統中看到的層次結構。 但是,為了簡化組織,Amazon S3 控制台支持將文件夾概念作為對對象進行分組的一種方式。 Amazon S3 通過使用對象的共享名稱前綴(即,對象的名稱以公共字符串開頭)來實現這一點。 Object 名稱也稱為鍵名。
由於 AWS S3 是 Object 存儲服務並且不符合 POSIX。
這意味着沒有磁盤級文件夾結構維護者。
您看到的文件夾是合乎邏輯的,這意味着名稱為hello/world.text
的文件將hello
顯示為父文件夾名稱,而world.txt
作為文件名,但是實際存儲的文件名是hello/world.txt
。
因此,元數據也在文件級別而不是文件夾級別進行管理,因為它們不是物理文件夾。
CLI 行為是正確的,您需要修改文件的元數據。 但是,您可以修改 go 中所有文件/多個文件的元數據。
無需遞歸更改文件的元數據,可以更改整個文件夾的元數據。 按照這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.