Scheijgrond.com

Ik Google mijzelf

Update Mei 2024

Tracked Properties in Logic Apps

Azure logic apps is een mooi stuk gereedschap in het realiseren van integraties tussen verschillende systemen. Er zitten allerlei standaard connectors ingebouwd en daarnaast allerlei standaard retry mogelijkheden e.d. Wat lastiger is, is het volgen of monitoren van de voortgang. Er komt een bericht binnen met een bepaalde ID wat niet goed verwerkt wordt, maar in welke run van de logic app zat dat bericht. Dat is niet zomaar te achterhalen. Hierbij kan gebruik gemaakt worden van een eigen logging mechanisme door bijvoorbeeld berichten naar een Log Analytics workspace te sturen of er kan gebruik gemaakt worden van Tracked Properties. De Tracked Properties hebben hun voor en nadelen. Het voordeel is dat ze gemakkelijk aan een stap als input of output toegevoegd kunnen worden en dan automatisch gelogd incl de betreffende runid. Het nadeel is dat ze alleen de input en output van een stap in de workflow kunnen loggen of de inhoud van het bericht wat de workflow heeft gestart. Dus een als ik in stap 3 een output van stap 2 wil loggen is dat niet toegestaan. Dit was iets wat ik bij een loop wilde gebruiken maar dat kon helaas niet. Deze beperking zorgt er ook voor dat als je in een workflow bijvoorbeeld een bericht binnen krijgt met daarin meerdere items die je allemaal wilt loggen je een stap moet hebben die al die info als output genereerd.

Hier heb ik een javascript functie voor gemaakt om een aparte stap toe te voegen die bepaalde info in de json opzoekt en als output terug geeft waardoor het is te loggen.

var jsonInput = workflowContext.actions.JSON_message.outputs;
function findAllKeyValues(jsonData, searchKey, result = []) {
    for(let key in jsonData) {
        if(typeof jsonData[key] === 'object' && jsonData[key] !== null) {
            findAllKeyValues(jsonData[key], searchKey, result);
        } else if(key === searchKey) {
            result.push(jsonData[key]);
        }
    }
    return result;
}

return findAllKeyValues(jsonInput,'DOCNUM');

3D print Aruco markers

Via de site: Image to STL en Aruco Markers kon ik gemakkelijk mijn Aruco markers printen. Slechts 4mm dik en dan halverwege de print van filament wisselen dan kan je hele mooie 3d markers printen. Het nadeel was alleen dat het zwart zo glom na de print dat de markers door de reflecties niet goed bruikbaar waren. Maar goed om te weten dat het zo makkelijk kan.