にアップロードされたファイルに関する情報を取得するファイルがs3バケットにアップロードされるたびに電子メールを送信するラムダ関数を作成しましたが、そのファイルに関するすべての情報を名前、サイズ、日付、アップロードの時間、それがどこから来る可能性があるかどうかなどです。 私はawsコンソールでこのすべての情報を持っていますが、電子メール本文にその情報を入れたいと思っています。S3
私はサーバレスフレームワークを使用しています。 http://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html
あなたは、ファイル名、サイズ、ソースIPアドレスを取得することができます。vここ
1.22.0は、オブジェクトの作成時にS3によって送信されるイベントのJSON構造私のコードここ
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