ADF: AFAS GetConnector (REST/JSON) ontsluiten

AFAS is voor velen een lastige bron om te ontsluiten voor het Data Warehouse (DWH). Voorheen hadden ze een (SOAP-)service dat alleen maar XML teruggaf, maar daar is verandering in gekomen met de nieuwe AFAS GetConnector (REST/JSON).

Op basis van een blog post van Herman Ronk, dit m.b.t. het integreren van Power BI met AFAS.

We beginnen met het aanmaken van een HTTP Linked Service binnen Azure Data Factory (ADF), hier voeren we alleen de ‘Base‘-URL in en verder niets speciaals:

 

 

 

De volgende stap is het aanmaken van de bijbehorende ‘HttpFile‘-dataset in JSON-formaat, hier moet je het e.e.a. invullen. Zoals de ‘Relative-URL’, het pad naar de ‘view’ (of dataset) binnen AFAS, in het onderstaande voorbeeld ‘employee_data‘.

Bij ‘Additional headers‘ even goed opletten, je moet hier namelijk de AFAS Token encoden met ‘Base64‘, gebruik hiervoor de functie ‘base64()‘ samen met een ‘concat()‘ om de prefix ‘Authorization: AfasToken‘ ervoor te plakken.

Omdat we hier het ‘File format‘ = ‘JSON format‘ gebruiken, krijg je specifiek voor JSON verschillende opties voor het verder opknippen van de JSON-dataset:

 

 

 

Success! Dankzij de parameters in de ‘Relative-URL’ als ‘?skip=-1&take=-1‘ krijgen we (als het goed is) alle records terug en niet de eerste 100 records:

 

 

 

Op dit moment maak ik nog geen gebruik van ‘paging’ of ‘pagination’, maar mocht je hiermee aan de slag moeten/willen gaan:

 

 

 
Nieuwsgierig naar de mogelijkheden van Azure en DevOps?
Neem dan contact met ons op: clint.huijbers@monkeyconsultancy.nl