Вы можете сделать что-то вроде
import boto3
from botocore.client import Config
import requests
bucket = 'bucket-name'
folder = '/' #you can add folder path here don't forget '/' at last
s3 = boto3.client('s3',config=Config(signature_version='s3v4'))
objs = s3.list_objects(Bucket=bucket, Prefix=folder)['Contents']
latest = max(objs, key=lambda x: x['LastModified'])
print(latest)
print (" Generating pre-signed url...")
url = s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': bucket,
'Key': latest['Key']
}
)
print(url)
response = requests.get(url)
print(response.url)
, здесь он даст последний последний измененный файл из всей корзины, однако вы можете обновить логин и обновить значение префикса по мере необходимости.
если вы используете Kubernetes POD, VM или все, что можете передать переменным окружения или использовать python dict для хранения самого последнего ключа, если требуется.