42.9. Using Salesforce Limits API
使用 salesforce:limits
操作,您可以从 Salesforce 获取 API 限制,然后针对收到的数据进行操作。salesforce:limits
操作的结果映射到 org.apache.camel.component.orderforce.api.dto.Limits
类,并可用于自定义处理器或表达式。
例如,您需要限制 Salesforce 的 API 使用,以便其他路由保留每日 API 请求 10%。输出消息正文包含一个 org.apache.camel.component. Salesforce.api.dto.Limits
对象,它们可与 Content Based Router 和 Content Based Router 和 Spring Expression Language(SpEL) 一同选择,可在执行查询时选择。
注意在 body.dailyApiRequests.remaining
中包括整数值的多路 1.0
如何评估表达式评估,没有浮动点,而没有区别,而是发出一个不可或缺的部门,结果为 0(
消耗某些 API 限制)或 1(消耗的 API 限值)或 1(
消耗的 API 限值)。
from("direct:querySalesforce") .to("salesforce:limits") .choice() .when(spel("#{1.0 * body.dailyApiRequests.remaining / body.dailyApiRequests.max < 0.1}")) .to("salesforce:query?...") .otherwise() .setBody(constant("Used up Salesforce API limits, leaving 10% for critical routes")) .endChoice()