檢視每日 SMS 用量報告 - Amazon Simple Notification Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

檢視每日 SMS 用量報告

您可以從 Amazon SNS 訂閱每日用量報告來監控 SMS 訊息傳送。如果您每天傳送至少一則 SMS 訊息,Amazon SNS 就會將用量報告 CSV 檔傳遞到指定的 Amazon S3 儲存貯體。SMS 用量報告需要 24 小時之後才能在 S3 儲存貯體中使用。

每日用量報告資訊

用量報告針對每則透過您的帳戶傳送的 SMS 訊息,包含下列資訊。

此報告不包含收件人已停止接收的訊息。

  • 訊息的發佈時間 (以 UTC 表示)

  • 訊息 ID

  • 目標電話號碼

  • 訊息類型

  • 傳遞狀態

  • 訊息價格 (USD)

  • 分段編號 (如果訊息內容太長,就會分成多個分段)

  • 分段總數

注意

如果 Amazon SNS 沒有收到組件編號,我們將其值設定為零。

訂閱每日用量報告

若要訂閱每日用量報告,您必須使用適當的許可建立 Amazon S3 儲存貯體。

為每日用量報告建立 Amazon S3 儲存貯體
  1. 從傳送簡訊的 AWS 帳戶,請登入 Amazon S3 主控台

  2. 選擇 Create Bucket (建立儲存貯體)。

  3. 針對 Bucket Name (儲存貯體名稱),建議您輸入帳戶和組織唯一的名稱。例如,使用樣式 <my-bucket-prefix>-<account_id>-<org-id>

    如需儲存貯體名稱慣例和限制的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的儲存貯體命名規則

  4. 選擇 Create (建立)。

  5. All Buckets (所有儲存貯體) 表格中,選擇儲存貯體。

  6. Permissions (許可) 索引標籤中,選擇 Bucket policy (儲存貯體政策)。

  7. Bucket Policy Editor (儲存貯體政策編輯器) 視窗中,提供允許 Amazon SNS 服務委託人寫入您的儲存貯體的政策。如需範例,請參閱 儲存貯體政策的範例

    如果您使用範例原則,請記得將 my-s3-bucket 取代為您在步驟 3 中選擇的儲存貯體名稱。

  8. 選擇 Save (儲存)。

訂閱每日用量報告
  1. 登入 Amazon SNS 主控台

  2. 在導覽面板上,選擇 Text messaging (SMS) (簡訊 (SMS))。

  3. Text messaging (SMS) (簡訊 (SMS)) 頁面上,於 Text messaging preference (簡訊喜好設定) 區段中,選擇 Edit (編輯)。

    文字訊息偏好設定區段
  4. Edit text messaging preferences (編輯文字簡訊喜好設定) 頁面上,於 Details (詳細資訊) 區段中,指定 Amazon S3 bucket name for usage reports (用量報告的 Amazon S3 儲存貯體名稱)。

    編輯文字訊息偏好設定頁面的詳細資訊區段
  5. 選擇 Save changes (儲存變更)。

儲存貯體政策的範例

下列政策允許 Amazon SNS 服務委託人執行 s3:PutObjects3:GetBucketLocations3:ListBucket 動作。

AWS 提供了各種工具,適用於具有已獲得帳戶中資源存取權之服務主體的所有服務。當 Amazon S3 儲存貯體政策陳述句中的委託人為 AWS 服務委託人,則可使用 aws:SourceArnaws:SourceAccount 全域條件金鑰來防止混淆代理人問題。若要限制儲存貯體可以接收每日用量報告報告的區域和帳戶,請使用 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:::my-s3-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:::my-s3-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:::my-s3-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 儲存貯體,請參閱如何從另一個 AWS 帳戶 複製 S3 物件?

每日用量報告的範例

在您訂閱每日用量報告後,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