Appels API & Dataflow
-
Appels API & Dataflow
Pour ma 1ere APPS Je viens de me lancer dans la refonte avec la Power Platform d’une “appli” que j’avais créé il y a 20 ans mais arrêté de maintenir au bout de quelques années.
La première étape consiste à interroger des API qui me renvoient des résultats au format Json pour les stocker dans des tables Dataverse (j’ai pour le moment créé 4 tables mais n’en rempli qu’une)
Après recherche j’ai pour le moment trouvé 2 sociétés américaines répondant à mes besoins qui proposent de fournir des API Key gratuites pour utiliser leurs API mais avec des limitations.
– les API de la société 1 sont parfaites mais ne me permettent de faire que 100 call / mois donc je vais les limiter à qq usages
Via un Dataflow et mapping j’arrive à alimenter la table Dataverse qui m’intéresse mais j’ai trop vite atteint le seuil de 100 requêtes / mois.– les API de la société 2 (https://www.alphavantage.co/) permettent de faire 500 call / jour (avec limitation de 5 call / min) mais me posent quelques problèmes et sont plus limitatives.
Voici le problème que j’ai avec:
J’ai créé un Dataflow > API Web en indiquant en URL l’endpoint de l’API le plus adapté.
Il est du style:
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=AI.PAR&outputsize=full&apikey=myAPIKeyoù myAPIKey correspond à l’API Key que m’a fourni la société et symbol=AI.PAR correspond à la société dont je veux récupérer le cours en Bourse. (AI: code de la société / PAR : marché Euronext Paris)
Ma difficulté est que le Json renvoyé renvoie le cours en Bourse du Jour mais également l’ensemble des cours des jours précédents (pas moyen de faire autrement):
ex:
{
“Meta Data”: {
“1. Information”: “Daily Prices (open, high, low, close) and Volumes”,
“2. Symbol”: “AI.PAR”,
“3. Last Refreshed”: “2022-05-26”,
“4. Output Size”: “Full size”,
“5. Time Zone”: “US/Eastern”
},“Time Series (Daily)”: {
“2022-05-26”: {
“1. open”: “161.2400”,
“2. high”: “162.1000”,
“3. low”: “160.3000”,
“4. close”: “162.1000”,
“5. volume”: “527695”
},“2022-05-25”: {
“1. open”: “161.8400”,
“2. high”: “162.3400”,
“3. low”: “160.7600”,
“4. close”: “161.0600”,
“5. volume”: “527665”
},
….
etc ….Comment puis je faire en sorte que la mapping du Dataflow ne s’applique que sur les premières “données” du Json c’est à dire celle du jour donc dans le cas présent avec un appel API le 26/05 soir c’est à dire les données du 2022-05-26 :
Peut être qu’une solution est de parser le json mais comment ?
PostID=VC1AS92wIFHNWYr
Connectez-vous pour répondre.