1

Я новичок в Aws, я использую Aws SNS для отправки уведомлений, я отправляю уведомления по разным темам не до конечной точки. Это прекрасно работает.AWS SNS статус доставки

Когда я publish уведомления, я получил массив как

object(Aws\Result)#84 (1) { 
    ["data":"Aws\Result":private]=> 
     array(2) { 
     ["MessageId"]=> 
     string(36) "************-7a29-591f-8765-************" 
     ["@metadata"]=> 
     array(4) { 
     ["statusCode"]=> 
     int(200) 
     ["effectiveUri"]=> 
     string(40) "https://sns.ap-southeast-1.amazonaws.com" 
     ["headers"]=> 
     array(4) { 
      ["x-amzn-requestid"]=> 
      string(36) "************-b737-5831-abf4-************" 
      ["content-type"]=> 
      string(8) "text/xml" 
      ["content-length"]=> 
      string(3) "294" 
      ["date"]=> 
      string(29) "Fri, 28 Oct 2016 08:59:05 GMT" 
     } 
     ["transferStats"]=> 
      array(1) { 
       ["http"]=> 
       array(1) { 
       [0]=> 
       array(0) {} 
      } 
     } 
    } 
} 

Я использую PHP на стороне сервера, Как я могу получить уведомление о доставке всех получателям по этим message id?

Спасибо в Anticipants.

ответ

1

Вы спрашиваете, как получить статус доставки сообщений, отправленных через Amazon SNS.

Документация Using Amazon SNS Topic Attributes for Message Delivery Status говорит:

Amazon SNS обеспечивает поддержка журнала статус доставки уведомлений отправляется тем со следующей конечными точками Amazon SNS:

  • Application
  • HTTP
  • Lambda
  • SQS

После настройки атрибутов статусов доставки сообщения, записи будет отправлена ​​в CloudWatch Лог для сообщений, отправляемых на тему подписалась к конечной точке Amazon SNS.

Я не смог найти конкретный запрос API для запроса статуса message_id. Вместо этого представляется, что информация о регистрации отправляется в CloudWatch Logs. Вам нужно будет проанализировать журналы, чтобы узнать статус.

+0

Моя конечная точка - это «приложение», и я упомянул, что журнал генерирует, но как я могу получить статус доставки уведомлений, отправленных по темам «message_id»? Есть ли другой способ узнать? –

+0

Также вы можете сказать мне, что есть ли срок действия/срок действия журналов в CloudWatch? Или это доступно навсегда? –

+0

Журналы CloudWatch сохраняются до тех пор, пока они не будут удалены. Нет метода для извлечения журналов 'message_id' - вам нужно будет программно разобрать журналы через [getLogEvents()] (http://docs.aws.amazon.com/aws-sdk-php/v3/api/ api-logs-2014-03-28.html # getlogevents) и найти информацию самостоятельно. –