簡體   English   中英

檢索適用於Amazon SES服務的發送統計信息

[英]Retrieving sending statistics applicable to Amazon SES service

我正在編寫Java應用程序,該應用程序通過Amazon SES服務發送電子郵件,並且運行良好。 但是現在,我需要按電子郵件ID的基礎來檢索按粒度發送的電子郵件。

因此,我使用CloudWatch並將通知傳遞給SNS 但是,我無法推斷出如何根據對Web服務的顯式請求獲取統計信息。 SNS端點能夠根據需要調度數據。 當我想從服務中的應用程序顯式請求統計信息時。

S3服務用於存儲。 我需要以某種方式存儲統計信息,以便以后查詢嗎? 有沒有解決方法和細節?

您好,根據我的理解,根據您的要求,AWS Dynamo DB是最好的方法。 AWS Dynamo數據庫是與No sql相關的數據庫。 發送電子郵件后,您可以使用SNS或不使用lambda函數將結果(emailId,如果需要時間等)存儲到Dynamo DB中。 您可以向dynamo DB發出查詢以獲取統計信息。

如果要使用S3存儲桶方式,則需要維護一個json文件,並且每次都需要覆蓋該文件。

好吧,這就是我獲取發送統計信息的方式。 關於Amazon SES ,它為您提供的發送統計信息非常有限。 沒有指向特定的已發送電子郵件。

然后,當涉及到Amazon Cloudwatch時 ,它為您提供了與SES非常相似的統計信息,它使您有機會使統計數據的日期精確到分鍾。 這意味着,如果您知道何時通過SES發送電子郵件,將其存儲在數據庫中,則可以估算出哪個統計信息屬於哪個電子郵件。

然后,您可以將Amazon FirehoseAmazon S3結合使用。 這是我降落的地方。 Firehose是一種將統計信息推送到S3存儲的流。 SES提供了使您可以附加它的配置集 S3存儲您喜歡的任何內容,包括電子郵件發送統計信息。 您最多可以有5個統計信息:

  • 發送
  • 交付
  • 彈跳
  • 抱怨
  • 拒絕

統計信息存儲在文件中,您可以使用與Java語言有關的Amazon SDK來訪問和讀取這些統計信息。 用Java查詢的方式

然后,您得到的是電子郵件發送統計信息的JSON文件,例如,

    {
   "eventType":"Bounce",
   "bounce":{
      "bounceType":"Permanent",
      "bounceSubType":"General",
      "bouncedRecipients":[
         {
            "emailAddress":"recipient@example.com",
            "action":"failed",
            "status":"5.1.1",
            "diagnosticCode":"smtp; 550 5.1.1 user unknown"
         }
      ],
      "timestamp":"2016-10-14T05:02:52.574Z",
      "feedbackId":"EXAMPLE7c1923f27-ab0c24cb-5d9f-4e77-99b8-85e4cb3a33bb-000000",
      "reportingMTA":"dsn; ses-example.com"
   },
   "mail":{
      "timestamp":"2016-10-14T05:02:16.645Z",
      "source":"sender@example.com",
      "sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
      "sendingAccountId":"123456789012",
      "messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
      "destination":[
         "recipient@example.com"
      ],
      "headersTruncated":false,
      "headers":[
         {
            "name":"From",
            "value":"sender@example.com"
         },
         {
            "name":"To",
            "value":"recipient@example.com"
         },
         {
            "name":"Subject",
            "value":"Email Subject"
         },
         {
            "name":"MIME-Version",
            "value":"1.0"
         },
         {
            "name":"Content-Type",
            "value":"multipart/mixed;  boundary=\"----=_Part_0_716996660.1476421336341\""
         },
         {
            "name":"X-SES-MESSAGE-TAGS",
            "value":"myCustomTag1=myCustomTagValue1, myCustomTag2=myCustomTagValue2"
         }
      ],
      "commonHeaders":{
         "from":[
            "sender@example.com"
         ],
         "to":[
            "recipient@example.com"
         ],
         "messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
         "subject":"Email Subject"
      },
      "tags":{
         "ses:configuration-set":[
            "my-configuration-set"
         ],
         "ses:source-ip":[
            "192.0.2.0"
         ],
         "ses:from-domain":[
            "example.com"
         ],
         "ses:caller-identity":[
            "ses_user"
         ],
         "myCustomTag1":[
            "myCustomTagValue1"
         ],
         "myCustomTag2":[
            "myCustomTagValue2"
         ]
      }
   }
}

就是這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM