本页面介绍了如何查看和删除用户事件。如需了解如何在用户事件发生时进行记录,请参阅记录实时用户事件。如需从过去的事件中导入用户事件数据,请参阅导入历史用户事件。
教程:重新联接用户事件
本教程介绍了如何向 userEvents:rejoin
端点发出 POST
请求,以重新联接用户事件。
如需遵循有关此任务的分步指导,请直接在 Cloud Shell Editor 中点击操作演示:
移除用户事件教程
本教程介绍了如何完全清除用户事件。
如需遵循有关此任务的分步指导,请直接在 Cloud Shell Editor 中点击操作演示:
查看汇总的用户事件信息
在 Search for Retail 控制台的数据页面上的事件标签页中查看事件集成指标。此页面会显示去年写入或导入的所有事件。数据成功提取后,指标最长可能需要 24 小时才会显示。
重新联接用户事件
向 userEvents:rejoin
端点发出 POST
请求即可重新联接用户事件。
重新联接操作将指定的事件与最新版本的产品目录联接。
如果与用户事件关联的产品在提取用户事件时不存在于目录中,则该用户事件会被视为未联接。未联接的事件缺少详细的产品信息,并且对训练模型和供应结果没有用。
除了处理未联接事件之外,重新联接操作还可用于纠正与错误的产品目录联接的事件。
您必须拥有 Retail AI Admin IAM 角色才能调用此方法。重新加入操作可能需要数小时或数天的时间才能完成。
curl
根据您要重新联接的事件类型,设置 userEventRejoinScope
:
USER_EVENT_REJOIN_SCOPE_UNSPECIFIED
:默认值。触发已联接和未联接事件的重新联接。JOINED_EVENTS
:仅触发已联接事件的重新联接。UNJOINED_EVENTS
:仅触发未联接事件的重新联接。
以下示例仅触发未联接事件的重新联接:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'userEventRejoinScope': 'UNJOINED_EVENTS' }" \ "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:rejoin"
您应该会收到类似如下所示的响应对象:
{ "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID" }
您可以检查重新联接的状态。将 OPERATION_ID 替换为重新联接方法返回的操作 ID:
curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID"
操作完成后,操作状态将以 done
的形式返回:
{ "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.retail.v2.RejoinUserEventsResponse", "rejoinedUserEventsCount": "1" } }
Java
移除用户事件
通常情况下,在记录用户事件后,您应妥善保留。不建议完全清除事件。
事件完全清除操作最长可能需要几天才能完成。如果您计划完全重置用户事件,请考虑创建一个新项目。
如果您的用户事件未正确记录并需要移除这些事件,可以使用 userEvents.purge
方法执行此操作。
使用过滤条件字符串指定要移除的事件。这支持通过按 eventTime
、eventType
、visitorID
和 userID
字段进行过滤来选择性地删除用户事件。
由于您无法撤消删除操作,因此请在删除用户事件之前执行试运行以测试过滤器字符串。force
字段默认设置为 false
;此设置将返回要删除的事件的数量,但不会实际删除它们。准备好实际删除用户事件后,请将 force
字段设置为 true
。
curl
此示例过滤某个时间范围,该时间范围必须使用祖鲁时间日期格式。force
字段设置为 false
。
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"", "force":"false" }' \ "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:purge"
您应该会收到类似如下所示的响应对象,其中 purge-user-events-54321
是操作 ID:
{ "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/purge-user-events-54321" }
以下示例请求操作状态:
curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID"
操作状态示例:
{ "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/OPERATION_ID", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.retail.v2.PurgeUserEventsResponse", "purgedEventsCount": "1" } }
将 force
字段设置为 true
会强制进行删除。
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token)"" \ -H "Content-Type: application/json; charset=utf-8" \ --data '{ "filter":"eventTime > \"2019-12-23T18:25:43.511Z\" eventTime < \"2019-12-23T18:30:43.511Z\"", "force":"true" }' \ "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/userEvents:purge"
Java
使用用户事件过滤条件
您可以过滤要删除的用户事件。
过滤条件是一个字符串,其中包含一个或多个以下限制条件:
eventTime
提供绑定要删除的事件的时间戳。此过滤条件可以指定一次或两次,大于 (>) 或小于 (<) 符号。有界限时间必须是单个连续的块。
eventType
将要删除的事件限制为单个事件类型。
visitorID
将要删除的事件限制为单个访问者 ID。
userID
将要删除的事件限制为单个用户 ID。
系统仅删除满足所有限制条件的用户事件。
要删除 2019 年 2 月 1 日当天或之后记录的 add-to-cart
类型的所有用户事件,您需要提供以下过滤字符串:
eventTime > "2019-02-01T00:00:00Z" eventType = add-to-cart