aws-lambda - 电子邮件格式
问题描述
我有来自 SNS(CloudWatch 警报)的消息发送到 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","Region":"US East (N. Virginia)","OldStateValue":"INSUFFICIENT_DATA","Trigger":{"MetricName":"GetRecords.Bytes","Namespace ":"AWS/Kinesis","StatisticType":"Statistic","Statistic":"MINIMUM","Unit":null,"Dimensions":[{"value":"sf-datalake-pcclaims-test-use1-datastream-ade","name":"StreamName"}],"Period":60,"EvaluationPeriods":1,"ComparisonOperator":"LessThanThreshold","Threshold":1.0 ,"TreatMissingData":"- TreatMissingData: 缺失","EvaluateLowSampleCountPercentile":""}}
我的代码如下:
import json
import boto3
def lambda_handler(event, context):
client = boto3.client('sns')
message = json.dumps(event['Records'][0]['Sns']['Message'])
response = client.publish(
TargetArn='arn:aws:sns:us-east-1:xxxxxxxxx:datalake-pcclaims-test-use1-email-error-alerts',
Message=message,
Subject='a short subject for your message',
MessageStructure='string'
)
print("From SNS yyyyyyyyyyyyyy: " + message)
return {
'statusCode': 200,
}
解决方案
推荐阅读
- python - Unable to start django site
- coq - Coq 上导数的准确值
- r - 具有相应置信区间的不同值的 beta 的边际效应
- firebase - 在 Firestore 仪表板中使用哪个字段按 ID 过滤文档?
- javascript - 检查函数javascript无法识别过期的时间戳
- android - 颤振运行时出现:app:processDebugResources的一些未知错误
- c - 为什么数字 10 在每次迭代中都会输出,我该如何解决?
- php - EasyAdmin 转换价值
- google-cloud-platform - 如何解决 GCP AI 预测平台出现 5xx 错误?
- python - 如何在 django 模型中有一个字段列表?