使用MinIO Client(mc),为S3存储桶内现有文件添加Cache-Control等Metadata
在 MinIO 或兼容的 S3 系统中,对象的元数据(如 Cache-Control)在上传时是固定的,之后无法直接修改。MinIO/S3 的设计决定了:对象的 metadata 是不可变的,只能通过重新上传覆盖(PutObject)来更新。
mc alias set provider https://s3.provider.net Access_Key Secret_Key
provider自行替换为服务商,s3bucket自行替换为存储桶名称。
powershell -ExecutionPolicy Bypass -File 1.ps1
PowerShell(.ps1代码):
$files = ./mc ls --recursive provider/s3bucket | ForEach-Object {
($_ -split '\s+')[-1]
}
foreach ($file in $files) {
$tmp = "$env:TEMP\$file"
./mc cp "provider/s3bucket/$file" "$tmp"
./mc cp -H "Cache-Control: max-age=2592000" "$tmp" "provider/s3bucket/$file"
}
→_→

awaヾ(≧∇≦*)ゝ