Amazon SNS 消息传输状态
对于使用下列 Amazon SNS 终端节点的主题,Amazon SNS 支持记录发送到这些主题的通知消息的传输状态:
-
HTTP
-
Amazon Kinesis Data Firehose
-
AWS Lambda
-
平台应用程序终端节点
-
Amazon Simple Queue Service
配置消息传输状态属性以后,将针对发送到主题订阅者的消息向 CloudWatch Logs 发送日志条目。记录消息传输状态有助于提供更好的业务洞察力,例如以下方面:
-
了解消息是否已传输到 Amazon SNS 终端节点。
-
识别从 Amazon SNS 终端节点发送到 Amazon SNS 的响应。
-
确定消息停留时间(发布时间戳与将消息转交给 Amazon SNS 终端节点之间的时间差)。
要配置用于消息传输状态的主题属性,您可以使用 AWS Management Console、AWS 软件开发工具包 (SDK) 或查询 API。
使用 AWS Management Console配置传输状态日志记录
登录 Amazon SNS 控制台
。 -
在导航面板上,选择 Topics(主题)。
-
在主题页面上,选择主题,然后选择编辑。
-
在编辑
我的主题
页上,展开 Delivery status logging (传输状态日志记录) 部分。 -
选择要记录其传输状态日志的协议,例如 AWS Lambda。
-
输入 Success sample rate(成功采样率)(您要为其接收 CloudWatch Logs 的成功消息的百分比)。
-
在 IAM roles(IAM 角色)子部分中,执行下列操作之一:
-
要从您的账户中选择一个现有服务角色,请选择 Use existing service role (使用现有服务角色),然后指定成功和失败传输的 IAM 角色。
-
要在您的账户中创建新的服务角色,请选择 Create new service role (创建新的服务角色),选择 Create new roles (创建新角色),以便在 IAM 控制台中为成功和失败的传输定义 IAM 角色。
要给予 Amazon SNS 写入权限以代表您使用 CloudWatch Logs,请选择 Allow(允许)。
-
-
选择 Save changes(保存更改)。
现在您就可以查看和分析包含消息传输状态的 CloudWatch Logs 了。有关使用 CloudWatch 的更多信息,请参阅 CloudWatch 文档
。
使用 AWS 开发工具包为订阅 Amazon SNS 终端节点的主题配置消息传输状态属性
AWS 开发工具包提供了多种语言的 API,以便将消息传输状态属性用于 Amazon SNS。
主题属性
您可以对消息传输状态使用下列主题属性名称值:
HTTP
-
HTTPSuccessFeedbackRoleArn
– 表示订阅到 HTTP 端点的 Amazon SNS 主题的成功消息传输状态。 -
HTTPSuccessFeedbackSampleRate
– 表示订阅到 HTTP 端点的 Amazon SNS 主题的成功消息采样百分比。 -
HTTPFailureFeedbackRoleArn
– 表示订阅到 HTTP 端点的 Amazon SNS 主题的失败消息传输状态。
Amazon Kinesis Data Firehose
-
FirehoseSuccessFeedbackRoleArn
– 表示订阅到 Amazon Kinesis Data Firehose 端点的 Amazon SNS 主题的成功消息传输状态。 -
FirehoseSuccessFeedbackSampleRate
– 表示订阅到 Amazon Kinesis Data Firehose 端点的 Amazon SNS 主题的成功消息采样百分比。 -
FirehoseFailureFeedbackRoleArn
– 表示订阅到 Amazon Kinesis Data Firehose 端点的 Amazon SNS 主题的失败消息传输状态。
AWS Lambda
-
LambdaSuccessFeedbackRoleArn
– 表示订阅到 Lambda 端点的 Amazon SNS 主题的成功消息传输状态。 -
LambdaSuccessFeedbackSampleRate
– 表示订阅到 Lambda 端点的 Amazon SNS 主题的成功消息采样百分比。 -
LambdaFailureFeedbackRoleArn
– 表示订阅到 Lambda 端点的 Amazon SNS 主题的失败消息传输状态。
平台应用程序终端节点
-
ApplicationSuccessFeedbackRoleArn
– 表示订阅到 AWS 应用程序端点的 Amazon SNS 主题的成功消息传输状态。 -
ApplicationSuccessFeedbackSampleRate
– 表示订阅到 AWS 应用程序端点的 Amazon SNS 主题的成功消息采样百分比。 -
ApplicationFailureFeedbackRoleArn
– 表示订阅到 AWS 应用程序端点的 Amazon SNS 主题的失败消息传输状态。注意
除了能够为发送到 Amazon SNS 应用程序终端节点的通知消息的消息传输状态配置主题属性,您还可以为发送到推送通知服务的推送通知消息的传输状态配置应用程序属性。有关更多信息,请参阅使用用于消息传输状态的 Amazon SNS 应用程序属性。
Amazon SQS
-
SQSSuccessFeedbackRoleArn
– 表示订阅到 Amazon SQS 端点的 Amazon SNS 主题的成功消息传输状态。 -
SQSSuccessFeedbackSampleRate
– 表示订阅到 Amazon SQS 端点的 Amazon SNS 主题的成功消息采样百分比。 -
SQSFailureFeedbackRoleArn
– 表示订阅到 Amazon SQS 端点的 Amazon SNS 主题的失败消息传输状态。
注意
<ENDPOINT>SuccessFeedbackRoleArn
和 <ENDPOINT>FailureFeedbackRoleArn
属性用于授予 Amazon SNS 写入权限,以代表您使用 CloudWatch Logs。<ENDPOINT>SuccessFeedbackSampleRate
属性用于指定成功传输消息的采样率百分比 (0-100)。配置 <ENDPOINT>FailureFeedbackRoleArn
属性以后,所有失败的消息传输都会生成 CloudWatch Logs。
用于配置主题属性的 AWS 开发工具包示例
以下代码示例显示如何设置 Amazon SNS 主题属性。