我创建了一个lambda函数,当文件上传到s3存储桶时发送电子邮件,但是现在我想要将与该文件相关的所有信息作为名称,大小,日期和上传时间,以及它可能来自何处。 我在aws控制台上拥有所有这些infortmation,但希望将它放在电子邮件正文中。获取关于上传到S3的文件的信息
我正在使用无服务器框架。 v 1.22.0
这里是我的代码
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
非常感谢你,这是非常有帮助 – ner