2017-02-17 24 views
0

Я пишу приложение Java, которое отправляет электронную почту через службу SAS Amazon, и это работает нормально. Но теперь мне нужно получить статистику отправки по электронной почте в виде гранулы по умолчанию для идентификатора электронной почты.Получение статистики отправки, применимой к службе SES Amazon

Итак, я использую CloudWatch и передать уведомления SNS. Тем не менее, я не могу сделать вывод о том, как получить статистику по явному запросу веб-службе. Конечные точки SNS могут отправлять данные по мере необходимости. Когда я хочу сделать явный запрос от моего приложения на службе для статистики.

Служба S3 предназначено для хранения. Нужно ли мне как-то хранить статистику, чтобы потом я мог запросить его? Любые резолюции и подробная информация?

+0

По некоторым причинам мне нужно придерживаться услуг Amazon. – ucas

ответ

0

Ну, так я получил статистику отправки. Что касается Amazon SES, он дает вам очень ограниченную статистику отправки; не указывая на конкретное отправленное письмо.

Тогда, когда дело доходит до Amazon Cloudwatch, он дает вам очень похожие статистические данные, такие как SES, заключается в том, что он дает вам возможность сделать даты статистики точными в течение нескольких минут. Это означает, что, если вы знаете, когда вы отправили электронное письмо, через SES, записав его в БД, вы можете оценить, какой stat принадлежит этому письму.

Затем вы можете использовать Amazon шланговой в сочетании с Amazon S3. Здесь я приземлился. Firehose - это поток, который подталкивает статистику к хранилищу S3. SES предоставляет конфигурационный набор , который позволяет подключать его. S3 хранит все, что вам нравится, включая статистику отправки по электронной почте. Вы можете иметь до 5 Статистика:

  • Отправить
  • Поставленный
  • Ошибку
  • Жалоба
  • Отклонить

Статы хранятся в файлах, которые вы можете получить доступ и прочитанных используя SDK Amazon, относящийся к Язык Java. The way to query in Java

Что вы получите тогда JSON файл электронной отправки статистики, например,

{ 
    "eventType":"Bounce", 
    "bounce":{ 
     "bounceType":"Permanent", 
     "bounceSubType":"General", 
     "bouncedRecipients":[ 
     { 
      "emailAddress":"[email protected]", 
      "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":"[email protected]", 
     "sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]", 
     "sendingAccountId":"123456789012", 
     "messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", 
     "destination":[ 
     "[email protected]" 
     ], 
     "headersTruncated":false, 
     "headers":[ 
     { 
      "name":"From", 
      "value":"[email protected]" 
     }, 
     { 
      "name":"To", 
      "value":"[email protected]" 
     }, 
     { 
      "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":[ 
      "[email protected]" 
     ], 
     "to":[ 
      "[email protected]" 
     ], 
     "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

Hi Для вашего требования согласно моему пониманию, DBS Dynamo DB - лучший способ. AWS Dynamo DB - это база данных, не связанная с SQL. После отправки электронной почты вы можете сохранить результат (emailId, если хотите, время и т. Д.) В базу Dynamo DB, используя SNS или функции лямбда. Вы можете запустить запрос к базе данных динамомашины, чтобы получить статистику.

Если вы хотите использовать ведро S3, у вас есть один json-файл, и каждый раз необходимо перезаписать этот файл.

+0

Давайте сосредоточимся на SQL как DB, потому что я не знаю NoSQL. Можете ли вы предоставить более подробную информацию о том, как делать то, что я хочу делать с S3-селектором. – ucas

+0

Сначала создайте образец json-файла и сохраните его в s3-ведре. Напишите функцию лямбда, которая должна быть слушателем сообщения SNS. Как только ваша электронная почта будет успешной, опубликуйте одно сообщение SNS, а затем автоматически запустится ваша лямбда-функция. Теперь ваша лямбда-функция получит данные идентификатора электронной почты из SNS, поэтому вы должны прочитать существующий json-файл из ведра s3 и добавить новое электронное письмо, в конце концов, сохраните файл в том же ведре с тем же именем. Когда вы захотите, вы можете вызвать JSON-файл для получения аналитических данных. –

 Смежные вопросы

  • Нет связанных вопросов^_^