Python boto3: загружать файлы с s3 на локальный, только если есть различия между файлами s3 и локальнымиPython

Программы на Python
Ответить
Anonymous
 Python boto3: загружать файлы с s3 на локальный, только если есть различия между файлами s3 и локальными

Сообщение Anonymous »

У меня есть следующий код, который загружает файлы с s3 на локальный компьютер. Однако я не могу понять, как загрузить, только если файлы s3 отличаются от локальных и более обновлены. Как лучше всего это сделать? Основано ли оно на измененном времени, ETags, MD5 или на всем этом?
import boto3
import pathlib

BUCKET_NAME = 'testing'
s3_client = boto3.client('s3')
response = s3_client.list_objects_v2(Bucket = BUCKET_NAME, Prefix = KEY)

if 'Contents' in response:
for obj in response['Contents']:
file_key = obj['Key']
file_name = os.path.basename(file_key) # Get the file name from the key
local_file_path = os.path.join(f'test_dir', file_name)
#Download the file
s3_client.download_file(BUCKET_NAME, file_key, local_file_path)
print(f"Downloaded {file_name}")


Подробнее здесь: https://stackoverflow.com/questions/793 ... ences-betw
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»