J'ai créé une fonction lambda qui envoie des emails quand un fichier est téléchargé sur s3 seau, mais maintenant je veux avoir toutes les informations liées à ce fichier comme le nom, la taille, la date et temps de téléchargement, et si c'est possible d'où il vient. J'ai tout cet infortmation sur console aws, mais je veux l'avoir dans le corps de l'e-mail.Obtenir des informations sur un fichier téléchargé sur S3
J'utilise le framework sans serveur. v 1.22.0
ici est mon code
import json
import boto3
import botocore
import logging
import sys
import os
import traceback
from botocore.exceptions import ClientError
from pprint import pprint
from time import strftime, gmtime
email_from = '********@*****.com'
email_to = '********@*****.com'
email_subject = 'new event on s3 '
email_body = 'a new file is uploaded'
#setup simple logging for INFO
logger = logging.getLogger()
logger.setLevel(logging.INFO)
from botocore.exceptions import ClientError
def sthree(event, context):
"""Send email whenever a file is uploaded to S3"""
body = {}
status_code = 200
email_body = str(context)
try:
s3 = boto3.client('s3')
ses = boto3.client('ses')
ses.send_email(Source = email_from,
Destination = {'ToAddresses': [email_to,],},
Message = {'Subject': {'Data': email_subject}, 'Body':{'Text' : {'Data': email_body}}}
)
except Exception as e:
print(traceback.format_exc())
status_code = 500
body["message"] = json.dumps(e)
response = {
"statusCode": 200,
"body": json.dumps(body)
}
return response
merci beaucoup, cela a été très utile – ner