博主头像
7024w的自留地

觉宇宙之无穷,识盈虚之有数

使用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"
}
已有 2 条评论
  1. 评论头像

    →_→无语害羞

    1 August 3rd, 2025 at 04:55 pm 回复
  2. 评论头像

    awaヾ(≧∇≦*)ゝ

    与君盟 July 27th, 2025 at 10:50 pm 回复
发表新评论