2017-04-23 2 views
-1

J'ai un appel d'API depuis mule vers Eloqua.Problème de récupération des enregistrements à partir d'Oracle Cloud (Eloqua)

J'utilise le connecteur http pour connecter l'API, il y a environ 80000 enregistrements qui doivent être récupérés dans Mule ESB. Mais chaque fois qu'il se connecte à cette API pour récupérer seulement 1000 enregistrements que tous les enregistrements sont choisis au hasard.

Veuillez suggérer toute modification nécessaire au connecteur Http pour récupérer tous les enregistrements.

J'ai également activé le streaming.

Merci.

<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> 
+0

Si vous souhaitez obtenir de l'aide, envoyez au moins du code. – Bas

Répondre

0

Vous ne pouvez pas définir de limitation au demandeur HTTP Mule. C'est très direct, si vous donnez la bonne demande, alors vous obtiendrez des réponses comme produites par l'hôte/serveur.

Pour le prouver, essayez de demander à cette API d'autres clients comme POSTMAN ou SOAPUI avec les mêmes paramètres. Si vous obtenez 1000 enregistrements, cela signifie clairement que rien n'est fait avec la configuration de Mule.

Référez-vous aux documents de l'API ou demandez au propriétaire de l'API. Il peut y avoir un ou plusieurs paramètres supplémentaires à envoyer pour aller chercher les enregistrements désirés.

0

Le nombre maximum d'enregistrements renvoyés dans une requête API d'application est 1000.

La page URL parameter serait utilisé pour récupérer le reste des enregistrements en boucle à travers chaque page. Le nombre de pages sera le nombre total d'enregistrements divisé par nombre. S'il y a 80 000 enregistrements au total et que vous récupérez le nombre par défaut de 1 000, il y aurait 80 pages. L'API de l'application est synchrone. Elle n'est donc pas recommandée pour les volumes de données élevés. Le Bulk API sera toujours recommandé pour interagir avec de gros volumes de données. Voici un tutorial sur la façon de récupérer de gros volumes de données avec l'API Bulk.