首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索适用于Amazon服务的发送统计信息

检索适用于Amazon服务的发送统计信息
EN

Stack Overflow用户
提问于 2017-02-17 18:07:19
回答 2查看 841关注 0票数 0

我正在编写通过Amazon服务发送电子邮件的Java应用程序,这很好。但现在,我需要检索电子邮件发送的统计数字,根据电子邮件ID的基础。

因此,我使用CloudWatch并将通知传递给SNS。然而,我无法推断如何根据对Web服务的显式请求获取统计数据。SNS端点能够根据需要分派数据。当我想从我的应用程序上为stats.发出明确的服务请求时

S3服务用于存储。我是否需要以某种方式将统计数据存储在上面,以便以后可以查询它?有任何决议和细节被认可吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-24 21:14:43

好吧,这就是我得到发送数据的方式。当涉及到Amazon 时,它给出的发送统计信息非常有限,而不是指向特定发送的电子邮件。

然后,当涉及到Amazon 时,它给您提供了与SES非常相似的统计数据,即它给您一个机会使统计日期看起来精确到分钟的长度。这意味着,如果你知道当你通过SES发送电子邮件时,通过将它存储在DB上,你就可以估计出哪一封邮件属于哪封邮件。

然后,您可以使用Amazon Amazon S3相结合。这就是我降落的地方。火软管是一种流,它将统计信息推送到S3存储中。SES提供的配置集允许您附加它。S3存储任何您喜欢的东西,包括电子邮件发送统计信息。你可以拥有最多5个统计数据:

  • 发送
  • 已交付
  • 弹跳
  • 投诉
  • 拒收

这些统计数据存储在文件中,您可以使用Amazon的SDK访问和读取这些文件,这些文件属于Java语言.Java中的查询方法

您得到的是JSON文件中的电子邮件发送统计信息,例如,

代码语言:javascript
复制
    {
   "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"
         ]
      }
   }
}

仅此而已。

票数 0
EN

Stack Overflow用户

发布于 2017-02-20 10:43:38

你好,根据我的理解,AWS是最好的方法。AWS Dynamo DB是一个与sql无关的数据库。发送电子邮件后,您可以存储结果(emailId,如果您需要时间等)通过使用SNS或nay函数进入Dynamo。您可以向dynamo发出一个查询以获取统计数据。

如果您想使用S3桶方式,则需要维护一个json文件,并且每次都需要覆盖该文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42304704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档