常见问题解答 — 活动订阅
以下是有关活动订阅的常见问题解答:
什么是订阅?
订阅是一组数据,用于将Adobe Workfront事件匹配和提供到客户的HTTP端点。 此资源由4个主要属性组成:
- customer_id
- 对象代码
- obj_id
- url
订阅还可以具有其他属性(如自己的唯一ID和创建日期),但上面列出的属性主要用于匹配事件并将它们交付给客户。
我是否能够根据事件有效负载中的特定条件选择将哪些事件发送到端点?
事件订阅过滤器是一种按指定条件对事件子进行排序的方法。 建议您将过滤器应用于事件订阅,因为它可能会显着减少端点需要使用的消息数。 有关详细信息,请参阅事件订阅筛选。
为什么API返回409冲突响应代码?
如果尝试创建事件订阅并收到响应代码409冲突,则尝试创建的订阅是重复的。 Workfront不允许创建重复的订阅。
如果我的消息未发送到我的端点,我应该怎么做?
查找以下方案并使用建议的解决方案:
-
确保您的订阅端点(由 url 字段定义)返回2XX HTTP响应代码。 如果不是,请联系Workfront支持或查看事件订阅提交要求。
-
事件投放请求可能在完成之前超时。 确保您的端点在5秒内持续响应。 这是为HTTP请求发送事件订阅消息设置的默认超时。 如果您的端点在5秒内没有响应,请联系Workfront支持或参阅事件订阅提交要求。
-
这些事件可能不会像您认为的那样产生。 确保您未对事件应该如何或何时触发以及何时触发做出假设。 例如,您可能认为更新任务中的文档会生成任务更新事件,而会生成文档创建或文档更新事件。
-
您的订阅可能未按预期进行配置。 您可以在不同的环境中创建事件订阅,并期望它们像其他Workfront数据一样进行传输。 但是,事件订阅数据未配置为复制或提升到其他环境。 确保您向正确的环境发出API请求,并按照预期配置该环境中的订阅。
-
未收到有效负载,因为未将必需的Workfront 列入允许列表 IP地址添加到防火墙上的。 事件订阅事件仅从少数IP地址发送。 确保目标网络具有从Workfront事件订阅接收负载所需的所有IP异常。
为什么我的消息需要花费过多时间才能到达我的端点?
以下某些情况可能是原因之一:
-
系统中的大型操作(如批量更新)可能会导致大量消息同时排入队列,这可能需要一些时间才能处理。
-
大型项目上长期运行的计算或时间表计算可能会导致向事件订阅发布的消息延迟使用。
-
订阅可能已禁用。
-
在100条消息的宽限期后,如果特定URL(可能与一个或多个订阅关联)70%以上时间失败,或者URL在2000次连续尝试后无法交付,则不会尝试交付与具有同一URL的订阅匹配的所有消息。 相反,这些消息会立即排队等候重试。
禁用URL后,每隔10分钟,我们都会尝试投放通过处理的下一个消息。 如果消息成功,则重新启用该URL并随后启用任何匹配订阅。 如果该消息无法发送,则该10分钟计时器将重置,并在其过期后重试。
此行为可视为投放不一致或延迟,但它只是遵循我们的策略来处理事件订阅消息。
-
如果满足以下任一条件,则将硬禁用事件订阅URL:
- 订阅URL已失败7天,在过去72小时内已尝试连续投放至少2000次。
- 订阅URL未能提供50,000次连续尝试。
-
如果在尝试调用事件订阅API时收到500响应状态,我应该怎么做?
请联系Workfront支持。 要了解如何联系支持人员,请参阅联系客户支持。
我可以对Workfront事件订阅使用哪些不同类型的身份验证?
您可以使用任何使用持有者令牌的身份验证。 订阅的 authToken 字段是一个字符串,它表示用于通过 url 字段中指定的URL进行身份验证的OAuth2持有者令牌。 理论上,只要目标终结点知道如何处理其编码(即 utf-8),此令牌值可以是任何值。
从“Workfront事件订阅”接收事件有效负载需要多长时间?
通常,您可能会收到事件订阅事件提交请求,该请求距记录的数据更改不超过5秒。 平均而言,从进行数据更改的时间开始,将在不到1秒内收到webhook通知。 但是,该服务可能会接收大量消息,并且可能需要更长的时间。
其他资源
-
API文档: 事件订阅API
-
最佳实践:事件订阅最佳实践
-
触发事件订阅负载的字段: 事件订阅资源字段
-
了解事件订阅重试次数: 事件订阅重试次数
-
为Workfront配置防火墙: 配置防火墙的允许列表