Cognito与Pinpoint集成后无分析数据,是否需手动发送请求?
关于Cognito与Pinpoint集成后无分析数据的问题解答
你确实存在一点误解,Cognito和Pinpoint的默认集成并不会自动将用户的登录、注册等行为数据同步到Pinpoint的「应用分析」板块里。下面详细解释下这个集成的实际作用和你需要做的事情:
1. 集成后Cognito自动同步的数据
当你完成Cognito用户池和Pinpoint的关联,并勾选「共享用户资料数据」后,Cognito只会自动同步用户的基础属性数据到Pinpoint的用户档案中,比如用户名、邮箱、自定义属性这些,但不会主动上报用户的登录、会话等行为事件到Pinpoint的分析模块。
2. 为什么Pinpoint显示“尚未启用任何功能”
Pinpoint的「应用分析」板块依赖的是客户端主动上报的事件数据,比如用户登录、页面浏览、按钮点击这些行为,都需要你的Web或移动应用通过Pinpoint SDK发送事件请求才能被统计到。这部分确实不是Cognito能自动完成的,哪怕你关联了用户池也不行。
3. 如果你只想获取Cognito用户的行为数据
如果你的需求只是追踪Cognito用户的登录、注册、密码重置等行为,其实不需要依赖Pinpoint的应用分析,你可以通过以下两种方式实现:
- 开启Cognito的CloudTrail日志:CloudTrail会记录Cognito的所有API调用事件,比如
SignUp、InitiateAuth、ForgotPassword等,你可以通过CloudWatch Insights来分析这些日志数据。 - 使用Cognito的触发器:给用户池添加Post Authentication、Post Confirmation等触发器,在用户完成登录、注册后,通过Lambda函数主动将事件上报到Pinpoint(或者直接发送到CloudWatch Metric)。
4. 验证集成是否生效的方法
你可以检查Pinpoint的「用户」板块,看看是否有从Cognito同步过来的用户档案。如果能看到用户的基础信息,说明你的Cognito和Pinpoint的关联是成功的,只是缺少行为事件的上报。
总结一下:Cognito和Pinpoint的关联主要是实现用户数据的打通,而非自动上报行为分析数据。如果需要登录等行为的统计,要么通过CloudTrail分析,要么通过应用端SDK上报事件,或者用Lambda触发器主动推送。
内容的提问来源于stack exchange,提问作者Rocket04
相关产品推荐
相关产品推荐

