从Oracle Cloud(Eloqua)获取记录时出现问题

时间:2017-04-23 10:08:13

标签: http mule eloqua

我有一个从mule到Eloqua的API调用。

我正在使用http连接器连接API,有大约80000条记录需要提取到Mule ESB。但是,每当它连接到该API时,只获取1000条记录,所有记录都是随机拾取的。

请建议对Http连接器进行任何修改以获取所有记录。

我也启用了流式传输。

感谢。

  <sub-flow name="exported-data">
    <http:request config-ref="Eloqua_BULK_API" path="#[flowVars.'export-data-contact']" method="GET" doc:name="Get All Exported Data"/>
    <set-payload value="#[dw('payload.itm')]" mimeType="application/json" doc:name="Set Payload"/>
    <logger message="#[payload]" level="Info" doc:name="Logger"/>
</sub-flow><http:request-config name="Eloqua_REST_API" protocol="HTTPS" host="${host}" port="${port}" basePath="/API/REST/2.0" doc:name="HTTP Request Configuration">   

<http:request-config name="Eloqua_REST_API" protocol="HTTPS" host="${host}" port="${port}" basePath="/API/REST/2.0" doc:name="HTTP Request Configuration">
    <http:basic-authentication username="${username}" password="${password}" preemptive="true"/>
</http:request-config>

2 个答案:

答案 0 :(得分:0)

您无法为Mule HTTP请求者设置限制。这是非常直接的,如果你给出了适当的请求,那么你将得到主机/服务器产生的响应。

为了证明这一点,尝试从具有相同参数的POSTMAN或SOAPUI等其他客户端向该API发出请求。如果你在那里得到1000条记录,那么它显然意味着Mule配置无需做任何事情。

参考API文档或/询问API所有者。可能会发送一些额外的参数来获取所需的记录。

答案 1 :(得分:0)

一个Application API请求中返回的最大记录数为1000。

页面URL parameter将用于通过循环遍历每个页面来检索其余记录。页数将是记录总数除以计数。如果总共有80,000条记录并且您正在检索默认计数1000,则会有80页。

Application API是同步的,因此不建议用于大量数据。始终建议Bulk API与大量数据进行交互。以下是有关如何使用批量API检索大量数据的tutorial