如何存取推播通知的 Amazon SNS 主題交付日誌?

2 分的閱讀內容
0

我想要存取推播通知的 Amazon Simple Notification Service (Amazon SNS) 主題交付日誌。

簡短描述

Amazon SNS 會提供支援以記錄傳送至主題的推播通知訊息的交付狀態。設定訊息交付狀態屬性之後,系統會將這些推播通知訊息的記錄項目傳送至 Amazon CloudWatch Logs。記錄訊息交付狀態會提供下列操作的深入了解:

  • 了解訊息是否已傳遞至 Amazon SNS 端點。
  • 識別從 Amazon SNS 端點傳送到 Amazon SNS 的回應。
  • 確定訊息停留時間 (發布時間戳記和送達 Amazon SNS 端點之間的時間)。

設定推播通知交付狀態日誌

下一個區段會提供使用 AWS 管理主控台設定交付狀態記錄的步驟。您還可以使用 AWS SDKAWS Command Line Interface (AWS CLI) 來設定訊息交付日誌。
**注意事項:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確認您使用的是最新的 AWS CLI 版本

請完成下列步驟:

  1. 開啟 Amazon SNS 主控台
  2. 在導覽功能表上,展開行動裝置,然後選擇推播通知
  3. 平台應用程式區段中,選取您想要看到交付狀態的平台應用程式。
  4. 選擇編輯
  5. 交付狀態記錄 - 選用。
  6. 對於成功取樣率,輸入您想要接收 CloudWatch Logs 的成功訊息百分比。依預設,系統會記錄所有失敗的交付。
  7. IAM 角色區段的服務角色中,選取建立新的服務角色,然後選擇建立新角色。隨即會開啟 AWS Identity and Access Management (IAM) 主控台。
    注意事項:如果您已經擁有具有正確許可的 IAM 角色,則您可以改選使用現有的服務角色來使用該服務角色。
  8. 在 IAM 主控台許可請求頁面上,選擇允許來授予 Amazon SNS 寫入權以代您使用 CloudWatch Logs。
  9. 在返回 Amazon SNS 主控台後,選擇儲存變更

這會為成功的和失敗的交付建立 IAM 角色,並為 Amazon SNS 設定下列政策和信任關係。

交付成功的 IAM 角色:

arn:aws:iam::1111111111:role/SNSSuccessFeedback

交付失敗的 IAM 角色:

arn:aws:iam::1111111111:role/SNSFailureFeedback

政策:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:PutMetricFilter",
        "logs:PutRetentionPolicy"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

信任關係:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

檢視推播通知交付狀態日誌

  1. 開啟 Amazon CloudWatch 主控台

  2. 在導覽窗格上,展開日誌,然後選擇日誌群組

  3. 在「篩選」搜尋方塊中,輸入 sns 以僅尋找 Amazon SNS 的日誌群組。

  4. sns/your-AWS-region/your-account_ID/app/platform_name/application_name 日誌群組包含成功交付日誌。

    sns/us-east-1/1111111111/app/GCM/Test1
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2
    sns/us-east-1/1111111111/app/APNS/Test3

    sns/your-AWS-region/your-account_ID/app/platform_name/application_name**/Failure** 日誌群組包含失敗交付日誌:

    sns/us-east-1/1111111111/app/GCM/Test1/Failure
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2/Failure
    sns/us-east-1/1111111111/app/APNS/Test3/Failure
  5. 選擇您想要檢視的 Amazon SNS 日誌群組。

  6. 日誌串流索引標籤上,選擇特定的日誌串流來檢視應用程式端點交付日誌。

  7. 若要查看訊息的交付狀態,請展開日誌事件並勾選 providerResponse。如需推播通知服務回應碼的清單,請參閱平台回應碼

相關資訊

如何對 Amazon SNS 中的 Firebase Cloud Messaging (FCM) 行動推播通知失敗進行疑難排解?

如何對 Amazon SNS 中的 APN 行動推播通知失敗進行疑難排解?

行動應用程式屬性

AWS 官方
AWS 官方已更新 10 個月前