Как получить список версий между последней версией и предыдущей версией для определенного объекта - PullRequest
0 голосов
/ 02 мая 2019

В настоящее время я пытаюсь использовать 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?Я просто что-то упускаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...