Posts

Showing posts from November, 2023

Logic apps vs Azure function: a short review

Image
  One of the toughest questions to decide for any integration project is whom you are going to decide; that too if both of them could give you equal possibilities. It's like choosing your favorite Avenger hero, when you could see they are battling each other ⚔ 🏹 πŸ‘ΊπŸ‘²πŸ‘¨   You could get a lot of suggestions across the net, here goes my list of observations, when to choose what: πŸ“Œ  ALA and AFs are both trigger-based phenomena, however when you see you have a lot of connectors that you need to use in your ALA, which definitely are not free, (and give you an alluring offer of first 3 months' of subscription as free) -- I think you should choose Azure functions. Let me give you one example: I had a requirement, where I needed to read a PDF, as soon as it arrived a blob storage, then do some manipulations to the file and then move it to a shared folder drive, once done. Here, if we choose an ALA, then we need to use a lot of connectors that are readily available, so as to process th

X++ : mistakes which developers commit the most

Image
   The most important thing is to remember where and when to write the code. a. Developers have an inherent habit of writing erratic select statements: select * from custTable where custTable.AccountNum == <SomeValue> Where in essence we need to make use of optimized choice of fields in the select statement. b. Making use of 'continue' keywords: While select custTrans where <someConditions> { if (cusTTrans.CustGroup != mappingTable.CustGroup) { continue; } } 'Continue' statements are precisely a very unhygienic way of designing your code. The above statement could have been easily ornamented by using exists/not exists joins. Using Continue statements would eventually result in a high performance impact. Also select statements should be made punctuated with a 'firstonly' clause -- just not from best practise standpoint, but also from performance considerations. c. Writing nested loops: This is a common mistake that perha

When your Azure blob trigger based Workflow is not triggering

Image
  What could be more irritating when you see your Azure blog trigger isn't getting fired, even though files are getting dumped into your azure blob incessantly? What could be the reason? Well, the answer is very simple: Maximum trackable number of items inside of a virtual folder for trigger = 30000 Which means, if your Azure blob doesn't have a purging facility associated with it, eventually the container will reach to such a threshhold, that your workflow will simply fail to detect any blob, when it gets added. Solution: a. Either you design your blob storage to be limited to around 1000-2000 files, then it will be really, really great. b. Or else you could enable auto-archiving of your azure blob storages, with a certain frequency, as is documented in the following MS link: https://learn.microsoft.com/en-us/azure/storage/blobs/archive-blob?tabs=azure-portal