344: Exploring CoreData and CloudKit (Merge Conflict) - Honestly it felt good hearing about those two genius struggling with data. But more than that to see them continue to look for different alternatives, and try new tools and patterns. Great episode, as usual.
Learning Blazor (David Pine) - This book is just perfect! It explains a bit of everything. It is packed with real examples and code variation (because there are so many ways to write something). There was even a full chapter un test with playwright, I didn't expect that and it was great!
It is time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, and books that catch my interest during the week.
If you think you may have interesting content, share it!
Host WordPress in Microsoft Azure with App Service (PaaS hosting) (Chris Pietschmann ) - When we are interested in WordPress, we are looking for a key in-hand experience. We don't want to manage code and connections and too much technical stuff. Having it hosted in PaaS Azure simplifies even more this.
Dapr 1.10 - More steps in the right direction (Mark Heath) - This is great! I'm happy to see the multi-app functionality as I was totally waiting for it. And the workflow is definitely something that interests me.
It is time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
If you think you may have interesting content, share it!
Programming
Web3 DevOps: The Series (Donovan Brown) - I'm just getting started with web3 there are so many tools.
How to Compare Two Json Objects Using C# (Code Maze) - Data is the core of most if not all applications and a common way to define the data is JSON. This post helps to understand how to compare a piece of information. Very useful.
Taking Comfortable Risks with Scott Galloway (A Bit of Optimism) - One thing he said that will stick with me I think, and that I need to now transform into my words: "There is nothing that will happen to you if you don't take some uncomfortable risks and talk to some people".
How to manage through a season of layoffs (Modern Mentor) - A season like those required more effort from everyone. It's hard and we all need to say nice and as much human as possible.
Already time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
If you think you may have interesting content, share it!
The Suggestion of the week
What is .NET, and why should you choose it? (.NET Team) - This is not an ordinary blog post. It makes me think of those deep interesting MSDN articles. A great read for young or older developers that would like to know more about .NET or refresh their memory.
Cloud
Azure DevOps Pipelines: If Expressions and Conditions (John Folberth) - This nice post in the series on Azure Pipeline focuses on conditions. Avery has efficient tools to customize our pipeline just like we want them.
What is an Azure Load Balancer? (Cary Roys) - Do you know what an Azure Load Balancer is or you only thing you know? In this nice post not only you will learn what it really is but it the post shares some OSS tools to test your ALB and explains how to use them.
Programming
Asynchronous Programming Patterns in .NET (Code Maze) - This is a great tutorial that explains 3 asynchronous patterns with code samples and explanation. Perfect to get started and understand legacy code or write new one.
Coding 102: Writing code other people can read (Max Pekarsky) - This is an excellent post with so much wisdom in it. Writing readable code is extremely important. Whether it's just a few lines in excel, a script, a query for a database, or a full app.
Sustainable Open Source with Sarah Novotny (.NET Rocks!) - Great episode with the Microsoft Open Source Lead talking about why truly open source is important and how Microsft really believes in its future.
Digging Up the Past with Sarah Parcak (A Bit of Optimism) - Using satellite images to do archeology... wait what?! Great episode really interesting from the early second until the last one.
Adventures in Dapr: Episode 0 - Introduction (James Dawson) - This first post of the series provides us details about the plans and why Dapr seams interesting as a resource for this project.
A Fancy Hover Effect For Your Avatar (Temani Afif) - Wow! From my point of views this look loke magic. With only one HTML element and a few lines of CSS... Bravo!
Blazor and Azure OpenAI (Michael Washington) - Cool demo using OpenAI API. Because yes ChatGPT is fun but there are APIs to build real apps.
341: Frank Masters In-App Subscriptions (Merge Conflict) - A big thank you to Frank and James for sharing that journey. We too often only ear about the happy path, and it's great to listen to all those challenges you incountered and how you managed to move forward.
Embracing The Fall with Carla Hall (A Bit of Optimism) - YES! So true! Falling instead of failling. Like a very wise man told me long time ago, the important is to bounce; get back on your feet and standup.
I use Azure Logic Apps in many of my solutions, I find them so conviennant to integrate different systemes. Recently one of them was failling and by lookink at the error message: The property value exceeds the maximum allowed size, I knew what was wrong. I was tying to save a JSON object into a Storage table but one property was too long. For this particular case I didn't need the value contain in the property so the plan was to delete it. At first, I thought it wasn't possible to edit a variable of type object in a Logic Apps, but it is!
In this post I will show how to use Compose action and setProperty to perform data operations in Azure Logic Apps.
The Context
First think to know is that the Compose action does not update the the current object but creates a new one. In this demo the JSON object use is quite short to simplyfy the demo.
{
"firstname":"Frank",
"lastname":"Boucher",
"alias":"fboucheros",
"bio":"With many years of experience in the IT industry, François (Frank) Boucher is a trusted Microsoft Azure professional whose expertise and bilingual service are relied upon in large Canadian markets (Ottawa and Montreal) as well as internationally. Among his many accolades, Francois has been awarded four times Microsoft Azure MVP status, named a Microsoft Azure Advisor, and Microsoft Azure P-Seller. Frank created the “Cloud 5 minutes” show. Where every second week, a new episode that answers a different technical question, is published both in French and English (cloud5mins.com). "
}
The Details
The Logic App recieve a JSON object from the request body. This is transfom as an Person object. To empty the bio property the action Compose will be used.
Inside the Compose action, use the context menu to find setProperty in the Expression section. The expression setProperty takes three parameters: the object, the property name, and the edited value. In this demo the goal was to empty the property therefore and empty string will be assign like this:
setProperty(variables('Person'),'bio','').
The edited object is accessible from the output of the Compose action and this what will be return in the Response action.
The Result
By adding a single action it's possible to edit JSON object in a Logic App without requiring to use inline code or external tools. A demo wouldn't be complite without a end-to-end run so here the result of a HTTP POST to the Logic App passing the Person JSON and the returned result.
Video version
If you prefer, I also have a video version of this post.
Already time to share new reading notes. It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
You think you may have interesting content, share it!
Generating Sample Data with Bogus (Shawn Wildermuth) - We all need seed data, test data, temp data... Bogus seams sample and efficient. I'm definitely trying it, in my next project.
It's been a while since I had so many "ah-ah" moment while reading a book. Digital body language is about communication using many different technologies by different culture, generations and individuals...
It a must if you care about how your message are received.
Already time to share new reading notes.
It is a habit I started a long time ago where I share a list of all the articles, blog posts, podcast episodes, and books that catch my interest during the week.
You think you may have interesting content, share it!
Bringing GitHub Actions to GitHub Mobile (Maximilian Sachs) - I'm Involved in a few repos, and being about to review some PR or questions and be able to answer them quickly is super nice. Learn more about this app in the post.
Practice Tests released on Microsoft Learn (Georgia Kalyva) - So many of you asked me about where they could find those tests... Happy to provide an easy answer moving on.
It's time to share new ReadingNotes. Here is a list of all the articles, podcasts, and blog posts, that catch my interest during the week.
If you think you may have interesting content, share it!
Programming
Making an Asynchronous Breakfast in .NET (Assis Zang ) - This post explains so well using a task that we all did the difference between synchronous and asynchronous code. It's in .NET, but valid for all languages (that support async code of course).