【问题标题】:How to recover AWS SNS subject and message from CloudWatch logs如何从 CloudWatch 日志中恢复 AWS SNS 主题和消息
【发布时间】:2020-11-29 12:10:11
【问题描述】:

我创建了一个 SNS 主题和一个 HTTP 订阅,我创建的 HTTP post 方法在每个收到的消息通知中都会做一些事情,一切正常...问题是当我尝试检索有关来自 CloudWatch 日志的消息我无法获取发送给客户端的主题和消息...这是一个示例:

这是在我的 HTTP 方法中从 AWS 收到的 JSON:

{
   "Type":"Notification",
   "MessageId":"9d1a1104-d1bf-51b9-8289-49382a1a603e",
   "TopicArn":"arn:aws:sns:eu-central-1:554218924367:Airbus_SNS_Topic",
   "Subject":"Test Subject",
   "Message":"Test body message",
   "Timestamp":"2020-11-29T01:29:09.159Z",
   "SignatureVersion":"1"
 }

当我去 Cloudwatch 日志时,我得到的信息是这样的:

{
   "notification":{
      "messageMD5Sum":"bb5553b8c3c1c9386ce8c8c8fef10874",
      "messageId":"9d1a1104-d1bf-51b9-8289-49382a1a603e",
      "topicArn":"arn:aws:sns:eu-central-1:554218924367:Airbus_SNS_Topic",
      "timestamp":"2020-11-29 01:29:09.166"
   },
   "delivery":{
      "deliveryId":"fb688918-aec3-54b7-b941-d124556667a9",
      "destination":"www.mydomain.com/myhttppostmethod",
      "providerResponse":"OK",
      "dwellTimeMs":9416,
      "attempts":1,
      "statusCode":200
   },
   "status":"SUCCESS"
}

“重要”信息没有显示在日志中,我的意思是消息主题和正文没有记录,在这种情况下“测试主题”和“测试正文消息”是因为隐私策略配置还是什么?

提前致谢。

【问题讨论】:

    标签: amazon-web-services amazon-cloudwatch


    【解决方案1】:

    这是设计使然。 SNS 传递状态日志仅记录给定 ID 的消息是否已传递。它不记录它的主体。

    您可以阅读有关 SNS 传递状态日志的更多信息 herehere

    如果您想记录正文,您可以为您的主题订阅一个 lambda 函数,该函数会将完整消息写入 CloudWatch Logs 或 DynamoDB。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多