查看每日 SMS 使用量报告 - Amazon Simple Notification Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查看每日 SMS 使用量报告

您可以通过从 Amazon SNS 订阅每日使用率报告来监控您的 SMS 消息传输。在每个您至少发送了一条 SMS 消息的日子,Amazon SNS 都将向您指定的 Amazon S3 存储桶发送 CSV 文件格式的使用率报告。SMS 使用报告需要 24 小时才在 S3 存储桶中可用。

每日使用量报告信息

该使用率报告包括通过您的账户发送的每条 SMS 消息的以下信息。

请注意,此报告不包含发送到已选择退出的收件人的消息。

  • 消息发布时间(UTC 时间)

  • 消息 ID

  • 目标电话号码

  • 消息类型

  • 传输状态

  • 消息价格 (USD)

  • 分段编号(如果一条消息过长,则会拆分为多个分段)

  • 分段总数

注意

如果 Amazon SNS 未收到段编号,我们会将其值设置为零。

订阅每日使用量报告

要订阅每日使用率报告,您必须通过适当的权限创建 Amazon S3 存储桶。

为您的每日使用率报告创建 Amazon S3 存储桶

  1. 从发送 SMS 消息的 AWS 账户,登录到 Amazon S3 控制台

  2. 选择 Create Bucket (创建存储桶)

  3. 对于存储桶名称,我们建议您输入对账户和组织唯一的名称。例如,使用模式 <my-bucket-prefix>-<account_id>-<org-id>

    有关存储桶名称的约定和限制的信息,请参阅 https://docs.amazonaws.cn/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules 中的存储桶命名规则Amazon Simple Storage Service 开发人员指南。

  4. 选择创建

  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 preferences (文本消息收发首选项) 部分中,选择 Edit (编辑)

    
                                    文本消息发送首选项部分
  4. Edit text messaging preferences (编辑文本消息收发首选项) 页上,在 Details (详细信息) 部分中,指定 Amazon S3 bucket name for usage reports (使用率报告的 Amazon S3 存储桶名称)

    
                                    “编辑文本消息发送首选项”页面上的“详细信息”
  5. 选择保存更改

存储桶策略的示例

以下策略允许 Amazon SNS 服务委托人执行 s3:PutObjects3:GetBucketLocations3:ListBucket 操作。在创建从 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" } } }, { "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" } } }, { "Sid": "AllowListBucket", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::my-s3-bucket" } ] }
注意

您可以将使用率报告发布到由 Amazon S3 策略的 AWS 元素中指定的 Condition 账户拥有的 Amazon S3 存储桶。要将使用率报告发布到另一个 Amazon S3 账户拥有的 AWS 存储桶,请参阅如何从另一个 AWS 账户复制 S3 对象?

每日使用量报告的示例

在您订阅每日使用率报告后,Amazon SNS 会每天将包含使用量数据的 CSV 文件放在以下位置:

<my-s3-bucket>/SMSUsageReports/<region>/YYYY/MM/DD/00x.csv.gz

每个文件可包含最多 50000 条记录。如果一天内的记录超出此配额,则 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