Amazon-Web-Services
AWS S3:如何通過 CLI 更改 S3 儲存桶中單個對象的 HTTP 標頭?
正如問題所暗示的那樣,我想通過 CLI 為 S3 儲存桶中的單個對象更改/設置一些 HTTP 標頭。這是我到目前為止所嘗試的:
aws s3 sync --delete --acl public-read --cache-control \ max-age=31536000 --expires "Mon, 01 Oct 2035 20:30:00 GMT" \ js/jquery-blockui/jquery.blockUI.min.js \ s3://mybucket/js/jquery-blockui/jquery.blockUI.min.js --dryrun
問題是,這
aws s3 sync
告訴我他在我的文件系統上找不到文件/home/user/somedir/js/jquery-blockui/jquery.blockUI.min.js/
(請參閱最後一個斜杠 - 該文件確實存在):warning: Skipping file /home/user/somedir/js/jquery-blockui/jquery.blockUI.min.js/. File does not exist.
那麼
aws s3 sync
只期望一個目錄作為源傳遞嗎?有誰知道,如何為單個文件做到這一點?我想編寫一個腳本並傳遞一些需要更改的文件 - 這就是我問的原因。謝謝。
aws s3 cp
是你的朋友 :)這應該有效:
aws s3 cp --acl public-read --cache-control \ max-age=31536000 --expires "Mon, 01 Oct 2035 20:30:00 GMT" \ js/jquery-blockui/jquery.blockUI.min.js \ s3://mybucket/js/jquery-blockui/jquery.blockUI.min.js
請注意,
--delete
不支持,aws s3 cp
但這是次要的。上傳好舊的後,您可以隨時在本地刪除它/bin/rm
:)是的,
aws s3 sync
只能在本地目錄和 S3 文件夾之間遞歸地工作,而不是在單個文件上。希望有幫助:)