1. Support
  2. Knowledge Base
  3. API Monitoring
  4. Door de gebruiker gedefinieerde functies

Door de gebruiker gedefinieerde functies

We vernieuwen onze gebruikersinterface. Sommige informatie is nog niet aangepast. Lees meer.

Met Uptrends' Multi-Step API monitoring kunt u meerdere opeenvolgende HTTP-requests op uw API uitvoeren, waarbij inkomende data worden geparseerd, opgeslagen in variabelen of gecontroleerd op de aanwezigheid van specifieke inhoud. In bepaalde gevallen moeten de waarden van de inkomende data echter worden getransformeerd of gemapt om deze gemakkelijker te begrijpen. Voorbeelden hiervan zijn de XML- en JSON-coderingsfuncties en -decoderingsfuncties die worden beschreven in onze handleiding voor het configureren van aangepaste integraties. Naast deze voorgedefinieerde functies kunt u met Uptrends door de gebruiker gedefinieerde functies instellen. Deze functies kunnen worden gebruikt om waarden van variabelen (uit een vorige stap, of een systeemvariabele uit Uptrends) om te zetten naar een nieuwe waarde.

Beschikbare typen van gebruiker-gedefinieerde functies

Momenteel bieden we twee typen gebruiker-gedefinieerde functies:

  • Regular Expression: met dit functietype kunt u een regular expression (RegEx) toepassen op uw eerder gemaakte variabelen. Dit is handig voor het extraheren van specifieke secties van de responsdata (zoals het extraheren van een authenticatiecode uit een Location redirect-header).
  • Mapping: met het functietype mapping kunt u automatisch bepaalde waarden in de respons vervangen door specifieke andere waarden. Als het ene eindpunt bijvoorbeeld de termen ‘error’/‘ok’ gebruikt (zoals Uptrends' eigen API) terwijl het volgende eindpunt de termen ‘incident’/‘healthy’ verwacht, kunt u een mappingfunctie gebruiken om deze waarden automatisch aan te passen naar de juiste equivalenten.

Gebruiker-gedefinieerde functies maken

U kunt een gebruiker-gedefinieerde integratie instellen op het tabblad Stappen van uw Multi-Step API-controleregel of op het tabblad Aanpassingen van uw (aangepaste) integraties.

Opmerking: een door de gebruiker gedefinieerde functie is specifiek voor de Multi-Step API-controleregel of aangepaste integratie waarvoor u deze instelt en wordt niet overgedragen naar andere controleregels of integraties.
  1. Op het tabblad Stappen van een van uw Multi-Step API-controleregels of op het tabblad Aanpassingen van uw (aanpasbare) integraties vindt u de sectie Door de gebruiker gedefinieerde functies onder aan de pagina.

  2. Klik op de knop + Functie toevoegen om een nieuwe functie te definiëren.

  3. Selecteer het juiste functietype: Mapping of Regular expression, en geef de functie een toepasselijke naam - we raden iets eenvoudigs en zonder spaties aan, omdat u er later naar moet verwijzen.

  4. Voeg in het geval van een mappingfunctie de individuele mappings toe die u nodig hebt. De mappingfunctie vertaalt de ‘Van’-waarden naar de overeenkomstige ‘Naar’-waarden.

    Geef voor een regular expression-functie de RegEx op zoals vereist. De Regex wordt vergeleken met de invoertekst en kan worden gebruikt om een specifiek deel van die invoer te extraheren.

U kunt indien nodig extra functies toevoegen door deze stappen te herhalen.

Uw functies gebruiken

Om uw nieuw gedefinieerde Door de gebruiker gedefinieerde functie(s) te gebruiken moet u de variabele(n) waarop de functie moet werken in de functieverwijzing verpakken, zoals {{userDefinedFunction({{variableReference}})}}. Laten we als voorbeeld eens kijken naar een mappingfunctie die als doel heeft inkomende responsdata te vertalen van ‘Error’ naar ‘Incident’, van ‘Warning’ naar ‘Unhealthy’ en van ‘Ok’ naar ‘Healthy’, zodat het eindpunt dat in de volgende stap wordt aangeroepen de termen krijgt toegezonden die het begrijpt. In dit voorbeeld:

  • Er is een gebruiker-gedefinieerde functie gemaakt, zoals te zien is in de afbeelding hierboven, genaamd errorMapping.
  • Het eindpunt stuurt een JSON-respons dat een ‘Status’-veld bevat met de waarde ‘Error’, ‘Warning’ of ‘Ok’.
  • In de volgende stap gaan we die statusdata doorsturen naar een andere API. Deze nieuwe API begrijpt de gebruikte termen echter niet en vereist in plaats daarvan de waarden ‘Incident’, ‘Unhealthy’ of ‘Healthy’.

Om de functie errorMapping te gebruiken om de statuswaarde automatisch naar de juiste termen te vertalen volgt u deze stappen:

  1. Extraheer de waarde van het veld ‘Status’ uit de responsdata, zoals u dat normaal zou doen (zie onze handleiding voor het instellen van variabelen bij Multi-Step monitoring). In dit voorbeeld heet de resulterende variabele statusRaw. Zoals beschreven, zal deze variabele ‘Error’/‘Warning’/‘Ok’ bevatten.
  2. Om de gebruiker-gedefinieerde functie toe te passen, klikt u eerst op de knop Variabele toevoegen.
  3. Stel de variabelebron (de vervolgkeuzelijst aan de linkerkant) in op Functie uitvoeren.
  4. Voor de functie-expressie verpakt u de variabeleverwijzing in de functie zoals hierboven beschreven: {{errorMapping({{statusRaw}})}}
  5. De resulterende waarde is ‘Incident’, ‘Unhealthy’ of ‘Healthy’, afhankelijk van wat de waarde van de variabele statusRaw was. Geef in het tekstveld Naam van de variabele een naam op voor de uitvoerwaarde.

Nu hebben we een nieuwe variabele gecreëerd, status, waarvan de waarde ‘Incident’, ‘Unhealthy’ of ‘Healthy’ is. In volgende stappen kunnen we op de reguliere manier naar deze variabele verwijzen (bijvoorbeeld door de notatie {{status}} te gebruiken. In dit voorbeeld hebben we een Mapping-functie gebruikt, maar de stappen voor een RegEx-functie zijn identiek.

Door deze website te gebruiken, stemt u in met het gebruik van cookies in overeenstemming met ons Cookiebeleid.