使用 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。
是否有 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。