我想存取 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 console (Amazon SNS 主控台)。
- 在導覽選單中展開 Mobile (行動裝置),然後選擇 Push notifications (推播通知)。
- 在 Platform applications (平台應用程式) 區段中,選取您要記錄交付狀態的平台應用程式。
- 選擇 Edit (編輯)。
- 交付狀態記錄 - 選用。
- 在 Success sample rate (成功取樣率) 中,輸入您希望接收 CloudWatch Logs 的成功訊息百分比。所有失敗的傳送預設都會記錄。
- 在 IAM roles (IAM 角色) 區段的 Service role (服務角色) 中,選取 Create new service role (建立新的服務角色),然後選擇 Create new roles (建立新角色)。隨即會開啟 AWS Identity and Access Management (IAM) 主控台。
**注意:**若您已擁有具有適當權限的 IAM 角色,則可改為選取 Use existing service role (使用現有服務角色) 來使用該服務角色。
- 在 IAM 主控台的權限請求頁面上,選擇 Allow (允許),以授與 Amazon SNS 代表您使用 CloudWatch Logs 的寫入存取權。
- 返回 Amazon SNS 主控台後,選擇 Save changes (儲存變更)。
此動作會建立用於成功與失敗傳送的 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 console (Amazon CloudWatch 主控台)。
-
在導覽窗格中展開 Logs (日誌),然後選擇 Log groups (日誌群組)。
-
在篩選搜尋方塊中輸入 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 日誌群組。
-
在 Log streams (日誌串流) 索引標籤中,選擇特定的日誌串流以檢視應用程式端點的交付日誌。
-
若要查看訊息的交付狀態,請展開日誌事件並勾選 providerResponse。如需推播通知服務回應碼的清單,請參閱平台回應碼。
相關資訊
如何對 Amazon SNS 中的 FCM 行動推播通知失敗進行疑難排解?
如何對 Amazon SNS 中的 APN 行動推播通知失敗進行疑難排解?
行動應用程式屬性