如何存取推播通知的 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 行動推播通知失敗進行疑難排解?

行動應用程式屬性