使用 AWS CLI 获取当前 S3 对象版本而无需下载对象主体本身

Get current S3 object version with AWS CLI without downloading the object body itself

是否有 AWS CLI 命令可以在不下载对象本身的情况下获取 S3 对象的当前版本?

我想出的最好办法是下载对象的第一个字节并将其写入 /dev/null:

aws s3api get-object --bucket mybucket --key myfile --range bytes=0-0 /dev/null | jq '.VersionId'

有没有更好的方法?

使用如下所示的命令:

aws s3api list-object-versions --bucket mybucket --prefix myfile.css

输出结果如下。

{
    "Versions": [
        {
            "ETag": "\"e4ac40b47c1e1b9269450424f4b72cc1\"",
            "Size": 3359,
            "StorageClass": "STANDARD",
            "Key": "myfile.css",
            "VersionId": "Nz7zrGFB_mdYp8Lx7g0rKkDeD3JHUv9f",
            "IsLatest": true,
            "LastModified": "2020-12-08T14:05:40+00:00",
            "Owner": {
                "DisplayName": "info",
                "ID": "07d06a23da0fa42d662773a9f6ca9f68d3109579d5937630fbe027cc77c36136"
            }
        }
    ]
}

详情请参考here