Amazon web services 将邮件推送到AWS简单队列服务时发送电子邮件

Amazon web services 将邮件推送到AWS简单队列服务时发送电子邮件,amazon-web-services,aws-lambda,amazon-sqs,amazon-ses,Amazon Web Services,Aws Lambda,Amazon Sqs,Amazon Ses,我正在处理多个日志文件,当出现错误时,我会输入一段代码,同时,我会将一条消息推送到AWS SQS中,其中包含错误的详细信息。现在,我想在一条消息被推送到SQS后立即给自己发送一封电子邮件。 早些时候,我尝试使用SES。我把SES的电子邮件发送代码,但SQS并没有发挥作用。 我可以做什么来实现我的用例 except: #this part runs for any corrupted file sqs_msg_response = queue_cl

我正在处理多个日志文件,当出现错误时,我会输入一段代码,同时,我会将一条消息推送到AWS SQS中,其中包含错误的详细信息。现在,我想在一条消息被推送到SQS后立即给自己发送一封电子邮件。 早些时候,我尝试使用SES。我把SES的电子邮件发送代码,但SQS并没有发挥作用。 我可以做什么来实现我的用例

except: 
            #this part runs for any corrupted file
            sqs_msg_response = queue_client.send_message(MessageBody='Data Processing num_failed')
            print('messageID',sqs_msg_response.get('MessageId'))
            subject = 'Data file is not processed'
            body='''the {}file is not processed at the time{}'''.format(string,current_time)
            message = {"Subject":{"Data":subject},"Body":{"Html":{"Data":body}}}
            email_response = email_client.send_email(
            Source="xyz@gmail.com",
            Destination={
                "ToAddresses":[
                    "abc@gmail.com",
                    ]
                },
            Message=message
            )

上面我已经实现了,但是SQS是独立的,SES是独立的。现在,我想在将消息推送到SQS并将电子邮件发送到提供的电子邮件id后立即实施。

解决此类问题的常规模式是使用Amazon SQS和

  • 创建一个SNS主题
  • 直奔主题
  • 将电子邮件订阅添加为主题的第二个目标
  • 修改应用程序以将消息放在主题上而不是队列上
  • 这样,主题将每条消息放入队列,同时发送电子邮件