Ich habe eine Lambda-Funktion erstellt, die E-Mails sendet, wenn eine Datei auf s3 Eimer hochgeladen wird, aber jetzt möchte ich alle Informationen zu dieser Datei als Name, Größe, Datum und haben Zeitpunkt des Uploads, und wenn es möglich ist, wo es herkommt. Ich habe all diese Informationen auf aws Konsole, aber ich möchte es in den E-Mail-Körper haben.Erhalten Sie Informationen über eine Datei hochgeladen S3
Ich benutze Serverless Framework. v 1.22.0
hier ist mein 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
vielen Dank, das war sehr hilfreich – ner