Próbując pobrać starszą wersję pliku za pomocą boto3. Obecnie mam to do pobrania najnowszej wersji i to działa.

get_obj = s3.download_file(
        Bucket="my_bucket",
        Key="testfile.txt",
        Filename='myfile'
        )

Chcę jednak złapać poprzednią wersję pliku i przejść do doktorów, które widzę, że download_object robi Zezwalaj na dodatkowe argazy. Więcej dokumentów

Zmieniłem to mój kod:

data = {'VersionId': prev_ver_id}

get_obj = s3.download_file(
        Bucket="my_bucket",
        Key="testfile.txt",
        Filename='myfile',
        **data)

Jednak to rzuca TypeError: download_file() got an unexpected keyword argument 'VersionId'}

Nie jestem pewien, czego tęsknisz tutaj.

1
Beginner 19 marzec 2020, 01:13

1 odpowiedź

Najlepsza odpowiedź

Musisz przejść dodatkowe argazy w dykt:

response = s3.download_file(
    Bucket="my_bucket",
    Key="testfile.txt",
    Filename='myfile',
    ExtraArgs={'VersionId': prev_ver_id},
)
4
wim 19 marzec 2020, 00:40