通过"开发人员应用程序"在一段时间内未调用特定服务时识别/发出警报。

时间:2014-03-17 12:54:28

标签: apigee

假设我已经定义了一个资源,使服务https://api.mydomainname.com/v1/stores/ABC/order在哪里" ABC"与Developer App条目有直接关系。我还有一个自定义属性,用于调用之间可以经过的最大秒数;如果通话之间的时间超过该阈值,我想采取行动(拨打电话,提出Nagios警报等)。

实施例: ABC(api密钥:54c34ce0f7691840093bfba55a10c782)具有300秒的经过时间阈值 XYZ(api密钥:af9843af2d190f72481183a8645659ac)的经过时间阈值为600秒

对于组织中所有相关的消息处理器,我们是否有任何关于如何执行此操作的想法?

我不想打电话来检查是否超过了阈值。

我认为我必须将其进一步推向实际服务,但如果有基于Apigee的潜在解决方案,我会感兴趣。

1 个答案:

答案 0 :(得分:0)

一种选择是使用<LookupCache><PopulateCache>政策。默认情况下,缓存是分布式的(跨MP)。

您可以将阈值(300s / 600s / etc)存储为开发应用的自定义属性。在<VerifyAPIKey>政策之后,应自动填充此属性值,您可以在<PopulateCache>政策中使用该引用。示例流程步骤:

  1. VerifyAPIKey(将获取填充的阈值。
  2. LookupCache
  3. 如果缓存命中,请继续。否则,引发自定义故障或执行自定义逻辑。
  4. PopulateCache创建/更新条目,从#1填充的属性的变量引用读取到期日期。如果该条目已存在,它将重新填充该条目的新到期时间,基本上重新设置上一个请求时间。