В настоящее время я пытаюсь использовать AWS Tools for PowerShell (https://docs.aws.amazon.com/powershell/latest/reference/index.html) для загрузки файлов из S3.
Мой вопрос о том, как получить список всех версий за последниеверсия и некоторая более старая версия (далее я опишу определенные версии объекта, чтобы что-то с ним сделать).
Найти последнюю версию легко:
(Get-S3ObjectMetadata -BucketName $S3Bucket -Key $file_to_import).VersionId
Такжеполучить список всех доступных версий для объекта очень просто:
(Get-S3Version -BucketName $S3Bucket -Prefix $file_to_import).Versions
Это дает мне что-то вроде этого:
BucketName Key IsLatest VersionId
---------- --- -------- ---------
fake_bucket_name test.file True JNvMus2dzvwbHTALXOiROE6eYK2CbQkN
fake_bucket_name test.file False .pLXJQtvTDLn2kGVyzxXLwHo06DM.eOK
fake_bucket_name test.file False E_Pldt5QUK69Bkqi4Vzea5YElVITu5vW
fake_bucket_name test.file False qfHFNcyUPwgQX4Vj.YRUyvKR4iC1LHDN
fake_bucket_name test.file False .Oq9yR3tmY4xeA2sKcbhO5fhbNgTHN_5
fake_bucket_name test.file False IqkH06Z17rJy9b43WKwbdlQmYTIKnQCi
fake_bucket_name test.file False zpd4vZJaP9d8sU2MgOBliDZg5g7dpQI3
fake_bucket_name test.file False aUkj3nf_LHzvF6iJFi6MDP8yN5yZx4s4
fake_bucket_name test.file False voXfE2Yucyfk3lYQxuEHoF531i27rqiw
fake_bucket_name test.file False vpHy533Js8gTBwmVF5Gwfx8gzRHJmuGO
fake_bucket_name test.file False rCLVePiKJ_kG4m99YK6T58OOWPgXYqc6
fake_bucket_name test.file False PQ5pPgMep3qmAhXnApl792OTzOgtEBJp
fake_bucket_name test.file False 8x84RYnc7S5Do0DOZqSC2L42q06yYoSl
fake_bucket_name test.file False LbyQxsfN..p6VmJARs3GZ7aF.Mzh_Q9C
fake_bucket_name test.file False LALPxyI5myYQbnWXv5XSPdnqpDMZp5E8
Где я сейчас застрял, так это то, как я могу получитьсписок только между последней версией и конкретной предыдущей версией.
Скажите, я знаю, что мне нужно все, что новее, чем VersionId qfHFNcyUPwgQX4Vj.YRUyvKR4iC1LHDN .
Итак, янужен список вроде этого:
BucketName Key IsLatest VersionId
---------- --- -------- ---------
fake_bucket_name test.file True JNvMus2dzvwbHTALXOiROE6eYK2CbQkN
fake_bucket_name test.file False .pLXJQtvTDLn2kGVyzxXLwHo06DM.eOK
fake_bucket_name test.file False E_Pldt5QUK69Bkqi4Vzea5YElVITu5vW
Я попытался использовать команду Get-S3Version
снова, используя KeyMarker
и VersionIdMarker
:
(Get-S3Version -BucketName $S3Bucket -KeyMarker $file_to_import -VersionIdMarker $last_processed_version -Prefix $file_to_import).Versions
Но этотолько дает мне все версии ДО вместо ПОСЛЕ VersionId, который я использовал как VersionIdMarker.
Результат выглядит примерно так и является полной противоположностью того, что необходимо:
BucketName Key IsLatest VersionId
---------- --- -------- ---------
fake_bucket_name test.file False .Oq9yR3tmY4xeA2sKcbhO5fhbNgTHN_5
fake_bucket_name test.file False IqkH06Z17rJy9b43WKwbdlQmYTIKnQCi
fake_bucket_name test.file False zpd4vZJaP9d8sU2MgOBliDZg5g7dpQI3
fake_bucket_name test.file False aUkj3nf_LHzvF6iJFi6MDP8yN5yZx4s4
fake_bucket_name test.file False voXfE2Yucyfk3lYQxuEHoF531i27rqiw
fake_bucket_name test.file False vpHy533Js8gTBwmVF5Gwfx8gzRHJmuGO
fake_bucket_name test.file False rCLVePiKJ_kG4m99YK6T58OOWPgXYqc6
fake_bucket_name test.file False PQ5pPgMep3qmAhXnApl792OTzOgtEBJp
fake_bucket_name test.file False 8x84RYnc7S5Do0DOZqSC2L42q06yYoSl
fake_bucket_name test.file False LbyQxsfN..p6VmJARs3GZ7aF.Mzh_Q9C
fake_bucket_name test.file False LALPxyI5myYQbnWXv5XSPdnqpDMZp5E8
Как правильно получить список более свежих VersionId, начиная с какого-то прошлого VersionId?Я просто что-то упускаю?