本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
您可以通过从 Amazon SNS 订阅每日使用量报告来监控您的 SMS 消息传输。在每个您至少发送了一条 SMS 消息的日子,Amazon SNS 都将向您指定的 Amazon S3 存储桶发送 CSV 文件格式的使用情况报告。在 Amazon S3 存储桶中提供 SMS 使用情况报告需要 24 小时。
每日使用量报告信息
该使用情况报告包括通过您的账户发送的每条 SMS 消息的以下信息。
请注意,此报告不包含发送到已选择退出的收件人的消息。
-
消息发布时间(UTC 时间)
-
消息 ID
-
目标电话号码
-
消息类型
-
传输状态
-
消息价格 (USD)
-
分段编号(如果一条消息过长,则会拆分为多个分段)
-
分段总数
注意
如果 Amazon SNS 没有收到部分编号,我们将其值设置为零。
订阅每日使用量报告
要订阅每日使用情况报告,您必须通过适当的权限创建 Amazon S3 存储桶。
为您的每日使用情况报告创建 Amazon S3 存储桶
-
从发送短信 AWS 账户 的,登录 Amazon S3 控制台
。 -
选择创建存储桶。
-
对于存储桶名称,我们建议您输入对账户和组织唯一的名称。例如,使用模式
<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 控制台
。 -
在导航面板上,选择文本消息(SMS)。
-
在 Text messaging (SMS) (文本消息收发(SMS)) 页上,在 Text messaging preferences (文本消息收发首选项) 部分中,选择 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 S3 存储桶以便从 Amazon SNS 接收每日 SMS 使用情况报告时,请使用以下包含混淆代理人保护的示例。
{
"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 存储桶,这些存储桶由 Amazon S3 策略中 Condition
元素指定的 AWS 账户 拥有。要将使用情况报告发布到其他人 AWS 账户
拥有的 Amazon S3 存储桶,请参阅如何从另一个存储桶复制 Amazon S3 对象 AWS 账户?
每日使用量报告的示例
在您订阅每日使用量报告后,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