Я использую управление версиями S3 и хотел бы добавить некоторые пользовательские поля к версиям и извлечь их самым дешевым способом.
В идеале пользовательские поля должны быть представлены в выходных данных команды aws-cli, напримерэто:
aws s3api list-object-versions --bucket mybucket --prefix myfile.md
без каких-либо дополнительных вызовов n
API.Но я не могу найти, может ли эта конечная точка вернуть метаданные.
Я могу получить метаданные только по отдельному идентификатору версии:
aws s3api head-object --bucket mybucket --version-id YgLFqd3oM_JBd2Dmwszxy.Up.fFX3xzi --key myfile.md
{
"VersionId": "YgLFqd3oM_JBd2Dmwszxy.Up.fFX3xzi",
"ContentLength": 2030,
"AcceptRanges": "bytes",
"ContentType": "application/x-yaml",
"ETag": "\"4e29f3565aca5bf8d196bfabac536f1d\"",
"LastModified": "Thu, 06 Jun 2019 15:54:22 GMT",
"Metadata": {
"comment": "some text"
}
}
Мой текущий подход заключается в хранении метаданных в DynamoDB с ключом объекта S3 и его версией в качестве первичного ключа.Но, возможно, это накладные расходы, и я могу делать все только с S3.