我想要存取推播通知的 Amazon Simple Notification Service (Amazon SNS) 主題交付日誌。
簡短描述
Amazon SNS 會提供支援以記錄傳送至主題的推播通知訊息的交付狀態。設定訊息交付狀態屬性之後,系統會將這些推播通知訊息的記錄項目傳送至 Amazon CloudWatch Logs。記錄訊息交付狀態會提供下列操作的深入了解:
- 了解訊息是否已傳遞至 Amazon SNS 端點。
- 識別從 Amazon SNS 端點傳送到 Amazon SNS 的回應。
- 確定訊息停留時間 (發布時間戳記和送達 Amazon SNS 端點之間的時間)。
設定推播通知交付狀態日誌
下一個區段會提供使用 AWS 管理主控台設定交付狀態記錄的步驟。您還可以使用 AWS SDK 或 AWS Command Line Interface (AWS CLI) 來設定訊息交付日誌。
**注意事項:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確認您使用的是最新的 AWS CLI 版本。
請完成下列步驟:
- 開啟 Amazon SNS 主控台。
- 在導覽功能表上,展開行動裝置,然後選擇推播通知。
- 在平台應用程式區段中,選取您想要看到交付狀態的平台應用程式。
- 選擇編輯。
- 交付狀態記錄 - 選用。
- 對於成功取樣率,輸入您想要接收 CloudWatch Logs 的成功訊息百分比。依預設,系統會記錄所有失敗的交付。
- 在 IAM 角色區段的服務角色中,選取建立新的服務角色,然後選擇建立新角色。隨即會開啟 AWS Identity and Access Management (IAM) 主控台。
注意事項:如果您已經擁有具有正確許可的 IAM 角色,則您可以改選使用現有的服務角色來使用該服務角色。
- 在 IAM 主控台許可請求頁面上,選擇允許來授予 Amazon SNS 寫入權以代您使用 CloudWatch Logs。
- 在返回 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"
}
]
}
檢視推播通知交付狀態日誌
-
開啟 Amazon CloudWatch 主控台。
-
在導覽窗格上,展開日誌,然後選擇日誌群組。
-
在「篩選」搜尋方塊中,輸入 sns 以僅尋找 Amazon SNS 的日誌群組。
-
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
-
選擇您想要檢視的 Amazon SNS 日誌群組。
-
在日誌串流索引標籤上,選擇特定的日誌串流來檢視應用程式端點交付日誌。
-
若要查看訊息的交付狀態,請展開日誌事件並勾選 providerResponse。如需推播通知服務回應碼的清單,請參閱平台回應碼。
相關資訊
如何對 Amazon SNS 中的 Firebase Cloud Messaging (FCM) 行動推播通知失敗進行疑難排解?
如何對 Amazon SNS 中的 APN 行動推播通知失敗進行疑難排解?
行動應用程式屬性