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

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

Post by Guest »

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post