У меня запущен сценарий python для загрузки изображений в корзину s3 каждый час. Входящие изображения бывают трех типов, и сценарий создает специальную папку c на основе имени изображения, а затем загружает изображения в эту папку в S3 на основе имени изображения.
Что происходит сейчас, так это то, что каждый час одни и те же изображения перезаписываются в корзине, мне нужно загружать изображения, только если они еще не существуют. Как я могу этого добиться. Прошу помощи через
import os.path, shutil
import os, time
import socket
import boto3
from botocore.exceptions import NoCredentialsError
import glob
import json
from apscheduler.schedulers.blocking import BlockingScheduler
id = id_of_file
def my_schedule():
s3 = boto3.client('s3', aws_access_key_id="Access_key",
aws_secret_access_key="Secret_key")
folder_path = "path"
images = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]
for image in images:
print(image)
folder_name = image.split('-')[0]
print(folder_name)
print("folder created**********************************")
key = "%s/%s" % (id+ '/' + folder_name, os.path.basename(image))
objs = list(bucket.objects.filter(Prefix=key))
print("Putting %s as %s" % (image, key))
final_file = folder_path + image
s3.upload_file(final_file, Bucket, key)
print("ALL Images uploaded successfully to s3 bucket")
time.sleep(5)
scheduler = BlockingScheduler()
scheduler.add_job(my_schedule, 'interval', hours=1)
scheduler.start()