[英]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 Firehose與Amazon 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.