Aws lambda 电子邮件格式

Aws lambda 电子邮件格式,aws-lambda,amazon-cloudwatch,amazon-sns,amazon-cloudwatch-metrics,Aws Lambda,Amazon Cloudwatch,Amazon Sns,Amazon Cloudwatch Metrics,我收到来自SNS(CloudWatch alarm)到AWS Lambda函数的消息。它的格式如下。Lambda然后通过其他SNS发送电子邮件。但在电子邮件中,消息不会格式化。如下所示。如何格式化邮件 {“AlarmName”:“sf-datalake-pcclaims-test-use1-datastream-ade-bytes”,“AlarmDescription”:“最近一分钟内读取的字节数少于一个”,“AWSAccountId”:“364206986528”,“NewStateValue

我收到来自SNS(CloudWatch alarm)到AWS Lambda函数的消息。它的格式如下。Lambda然后通过其他SNS发送电子邮件。但在电子邮件中,消息不会格式化。如下所示。如何格式化邮件

{“AlarmName”:“sf-datalake-pcclaims-test-use1-datastream-ade-bytes”,“AlarmDescription”:“最近一分钟内读取的字节数少于一个”,“AWSAccountId”:“364206986528”,“NewStateValue”:“ALARM”,“NewStateReason”:“阈值交叉:1个数据点[0.0(31/12/19 17:52:00)]小于阈值(1.0)”,“StateChangeTime”:“2019-12-31T17:53:05.509+0000”,“地区”:“美国东部(弗吉尼亚州北部)”,“OldStateValue”:“数据不足”,“触发器”:{“MetricName”:“GetRecords.Bytes”,“命名空间”:“AWS/Kinesis”,“StatisticType”:“统计”,“统计”:“最小”,“单位”:null,“维度”:[{“值”:“sf datalake-pcclaims-test-use1-datastream-ade”,“名称”:“StreamName”}],“周期”:60,”评估期间:1,“比较运算符”:“阈值较低”,“阈值”:1.0,“处理缺失数据”:“-处理缺失数据:缺失”,“评估样本数百分比”:“}”

我的代码如下:

导入json
进口boto3
def lambda_处理程序(事件、上下文):
client=bot3.client('sns')
message=json.dumps(事件['Records'][0]['Sns']['message'])
响应=client.publish(
targetran='arn:aws:sns:us-east-1:xxxxxxxxx:datalake-pcclaims-test-use1-email-error-alerts',
消息=消息,
Subject='a您的邮件的简短主题',
MessageStructure='string'
)
打印(“来自SNS YYYYYYYY:+消息)
返回{
“状态代码”:200,
}

SNS服务不格式化电子邮件

没有明确说明,但您可以从以下语句的行间读入:

Amazon SNS消息最多可以包含256 KB的文本数据,包括XML、JSON和未格式化文本

“电子邮件”传输是针对最终用户/消费者的,通知是基于文本的常规消息,易于阅读


还有另一个AWS服务称为SES,它支持发送格式化电子邮件,如前所述

这是否回答了您的问题?