Python boto3: Laden Sie Dateien nur dann von s3 auf lokal herunter, wenn es Unterschiede zwischen s3-Dateien und lokalen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Python boto3: Laden Sie Dateien nur dann von s3 auf lokal herunter, wenn es Unterschiede zwischen s3-Dateien und lokalen

by Guest » 05 Jan 2025, 10:39

Ich habe den folgenden Code, der Dateien von s3 auf lokal herunterlädt. Ich kann jedoch nicht herausfinden, wie ich nur dann herunterladen kann, wenn sich die S3-Dateien von den lokalen unterscheiden und aktueller sind als diese. Was ist der beste Weg, dies zu tun? Basiert es auf geänderter Zeit oder ETags oder MD5 oder all diesen?

Code: Select all

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}")

Top