簡體   English   中英

如何使用 aws s3 cli 更新目錄的元數據?

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

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