如何通过事件触发AWS Pinpoint旅程?排查触发失败问题
AWS Pinpoint旅程未被事件触发排查
我尝试通过事件启动AWS Pinpoint旅程,我的Golang应用使用PutEvents端点提交事件,代码如下:
func (c *Client) SendEvent(ctx context.Context, eventName string, endpointId string) error { _, err := c.client.PutEvents(ctx, &pinpoint.PutEventsInput{ ApplicationId: util.Ptr(c.applicationId), EventsRequest: &types.EventsRequest{ BatchItem: map[string]types.EventsBatch{ endpointId: { Endpoint: &types.PublicEndpoint{}, Events: map[string]types.Event{ eventName: { EventType: util.Ptr(eventName), Timestamp: util.Ptr(time.Now().UTC().Format(time.RFC3339)), }, }, }, }, }, }) if err != nil { return err } return nil }
从Pinpoint分析仪表板可见事件已被接收:
但我的旅程始终未被触发:
我遗漏了什么?相关的AWS Pinpoint Events API官方文档为英文,中文参考可查看AWS官方提供的中文文档。
可能的排查方向:
- 端点信息缺失:代码中传入了空的
PublicEndpoint对象,旅程触发需要端点具备有效的通道信息(如邮箱、手机号)或用户ID,空端点无法匹配旅程的受众条件。 - 事件类型不匹配:确认旅程触发规则里的事件类型与代码中
eventName完全一致(区分大小写),任何拼写或大小写差异都会导致触发失败。 - 旅程触发条件限制:检查旅程是否设置了额外筛选条件(如特定端点属性、用户标签),当前提交的事件是否未满足这些条件。
- 时间戳格式问题:确保RFC3339时间戳格式完全合规,微小的格式错误可能导致事件不被旅程引擎处理。
- 旅程状态异常:确认旅程处于「已激活」状态,草稿或暂停状态的旅程不会响应事件触发。
内容的提问来源于stack exchange,提问作者diogo.
相关产品推荐
相关产品推荐

