【问题标题】:Issue in fetching records from Oracle Cloud(Eloqua)从 Oracle Cloud(Eloqua) 获取记录的问题
【发布时间】:2017-04-25 12:00:47
【问题描述】:

我有一个从 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>

【问题讨论】:

  • 如果你想得到一些帮助,至少发布一些代码。

标签: http mule eloqua


【解决方案1】:

您不能对 Mule HTTP 请求者设置限制。非常直接,如果你提出正确的请求,那么你将得到主机/服务器产生的响应。

为了证明这一点,请尝试使用相同参数从其他客户端(如 POSTMAN 或 SOAPUI)向该 API 发出请求。如果您在那里获得 1000 条记录,那么这显然意味着与 Mule 配置无关。

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

【讨论】:

    【解决方案2】:

    一个Application API请求最多返回1000条记录。

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

    应用程序 API 是同步的,因此不建议将其用于大量数据。始终建议使用 Bulk API 与大量数据进行交互。这是一个tutorial,介绍如何使用 Bulk API 检索大量数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2022-01-25
      • 2012-04-22
      相关资源
      最近更新 更多