本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以從 Amazon SNS 訂閱每日用量報告來監控 SMS 訊息傳送。如果您每天傳送至少一則 SMS 訊息,Amazon SNS 就會將用量報告 CSV 檔傳遞到指定的 Amazon S3 儲存貯體。Amazon S3 儲存貯體中需要 24 小時才能使用簡訊用量報告。
每日用量報告資訊
用量報告針對每則透過您的帳戶傳送的 SMS 訊息,包含下列資訊。
此報告不包含收件人已停止接收的訊息。
-
訊息的發佈時間 (以 UTC 表示)
-
訊息 ID
-
目的地電話號碼
-
訊息類型
-
傳遞狀態
-
訊息價格 (USD)
-
分段編號 (如果訊息內容太長,就會分成多個分段)
-
分段總數
注意
如果 Amazon SNS 沒有收到組件編號,我們將其值設定為零。
訂閱每日用量報告
若要訂閱每日用量報告,您必須使用適當的許可建立 Amazon S3 儲存貯體。
為每日用量報告建立 Amazon S3 儲存貯體
-
從傳送簡訊 AWS 帳戶 的 ,登入 Amazon S3 主控台
。 -
選擇 Create Bucket (建立儲存貯體)。
-
針對 Bucket Name (儲存貯體名稱),建議您輸入帳戶和組織唯一的名稱。例如,使用樣式
<my-bucket-prefix>-<account_id>-<org-id>
。如需儲存貯體名稱慣例和限制的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的儲存貯體命名規則。
-
選擇建立。
-
在 All Buckets (所有儲存貯體) 表格中,選擇儲存貯體。
-
在 Permissions (許可) 索引標籤中,選擇 Bucket policy (儲存貯體政策)。
-
在 Bucket Policy Editor (儲存貯體政策編輯器) 視窗中,提供允許 Amazon SNS 服務委託人寫入您的儲存貯體的政策。如需範例,請參閱「儲存貯體政策的範例」。
如果您使用範例原則,請記得將
my-s3-bucket
取代為您在步驟 3 中選擇的儲存貯體名稱。 -
選擇儲存。
訂閱每日用量報告
-
登入 Amazon SNS 主控台
。 -
在導覽面板上,選擇 Text messaging (SMS) (簡訊 (SMS))。
-
在 Text messaging (SMS) (簡訊 (SMS)) 頁面上,於 Text messaging preference (簡訊喜好設定) 區段中,選擇 Edit (編輯)。
-
在 Edit text messaging preferences (編輯文字簡訊喜好設定) 頁面上,於 Details (詳細資訊) 區段中,指定 Amazon S3 bucket name for usage reports (用量報告的 Amazon S3 儲存貯體名稱)。
-
選擇儲存變更。
儲存貯體政策的範例
下列政策允許 Amazon SNS 服務委託人執行 s3:PutObject
、s3:GetBucketLocation
和 s3:ListBucket
動作。
AWS 為具有服務主體的所有 服務提供工具,這些主體已獲得您帳戶中資源的存取權。當 Amazon S3 儲存貯體政策陳述式中的主體是混淆代理人問題時。若要限制儲存貯體可以接收每日用量報告報告的區域和帳戶,請使用 aws:SourceArn
(如以下範例所示)。如果您不希望限制可以產生這些報告的區域,請使用 aws:SourceAccount
來根據產生報告的帳戶進行限制。如果您不知道資源的 ARN,請使用 aws:SourceAccount
。
在建立用以接收來自 Amazon SNS 每日 SMS 用量報告的 Amazon S3 儲存貯體時,請使用下列包含混淆代理人保護的範例。
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPutObject",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account_id"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:sns:region:account_id:*"
}
}
},
{
"Sid": "AllowGetBucketLocation",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "s3:GetBucketLocation",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account_id"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:sns:region:account_id:*"
}
}
},
{
"Sid": "AllowListBucket",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account_id"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:sns:region:account_id:*"
}
}
}
]
}
注意
您可以發佈用量報告到 Amazon S3 政策中 Condition
元素指定的 AWS 帳戶 所擁有的 Amazon S3 儲存貯體。若要將用量報告發佈至另一個 AWS 帳戶 擁有的 Amazon S3 儲存貯體,請參閱如何從另一個儲存貯體複製 Amazon S3 物件 AWS 帳戶?
每日用量報告的範例
在您訂閱每日用量報告後,Amazon SNS 每天都會將具有用量資料的 CSV 檔案存放在下列位置:
<my-s3-bucket>
/SMSUsageReports/<region>
/YYYY
/MM
/DD
/00x
.csv.gz
每個檔案可包含最多 50,000 筆記錄。如果一日的記錄量超過此配額,Amazon SNS 會新增多個檔案。報告範例如下所示:
PublishTimeUTC,MessageId,DestinationPhoneNumber,MessageType,DeliveryStatus,PriceInUSD,PartNumber,TotalParts
2016-05-10T03:00:29.476Z,96a298ac-1458-4825-a7eb-7330e0720b72,1XXX5550100,Promotional,Message has been accepted by phone carrier,0.90084,0,1
2016-05-10T03:00:29.561Z,1e29d394-d7f4-4dc9-996e-26412032c344,1XXX5550100,Promotional,Message has been accepted by phone carrier,0.34322,0,1
2016-05-10T03:00:30.769Z,98ba941c-afc7-4c51-ba2c-56c6570a6c08,1XXX5550100,Transactional,Message has been accepted by phone carrier,0.27815,0,1