以下是一个使用AWS SDK for Python (Boto3)的代码示例,用于将电子邮件发送到S3并通过Lambda推送通知:
import boto3
def send_email_to_s3(email_contents):
# 创建S3客户端
s3 = boto3.client('s3')
# 将电子邮件内容上传到S3桶
bucket_name = 'your-bucket-name'
object_key = 'email.txt'
s3.put_object(Body=email_contents, Bucket=bucket_name, Key=object_key)
# 创建Lambda客户端
lambda_client = boto3.client('lambda')
# 触发Lambda函数
lambda_function_name = 'your-lambda-function-name'
lambda_client.invoke(
FunctionName=lambda_function_name,
InvocationType='Event', # 异步调用
Payload='{"bucket": "' + bucket_name + '", "key": "' + object_key + '"}'
)
# 示例邮件内容
email_contents = 'Hello, this is an example email.'
# 调用函数发送电子邮件到S3并触发Lambda函数
send_email_to_s3(email_contents)
上述代码会将email_contents变量中的电子邮件内容上传到指定的S3桶中,并通过Lambda客户端触发名为"your-lambda-function-name"的Lambda函数。Lambda函数可以在触发时执行特定的操作,例如发送通知或处理上传的电子邮件。
请注意,您需要替换代码中的"your-bucket-name"和"your-lambda-function-name"为您实际使用的S3桶名称和Lambda函数名称。