Michał Jankowski

avatar

About Michał Jankowski

Microsoft MVP Azure, an architect, designer, team leader and trainer. He began programming in the early ’90s from Basic and Assembler for 8-bit computers. During most of his career, he was delivering .NET platform targeted application for the world’s largest companies. Currently, he is specialising in the development of web applications and Azure environment. A great enthusiast of software craftsmanship, unit testing, software design and other topics related to software development. In his free time, when he is not playing with the code, he likes travelling, photography and writing a technical blog.

Logging and monitoring cost of CosmosDB queries by using Application Insights

Each time when creating an application that is using document databases like CosmosDB we are facing a challenge of estimation of its costs and later optimisation. Both tasks are not so easy to do. To solve the first one we can use cost calculator. We just need to provide main characteristics of our solution (like a number of documents, information about actions per seconds, …) and also we need to provide sample documents that will be stored in our database. After doing that we will be able to read the estimated cost of our solution: […]

By |2019-03-03T23:32:37+01:003 March 2019 |CosmosDB|0 Comments

Sending SMSes from Azure Functions v2 – Twilio

Please find the brief manual to sending SMSed by Twilio service in Azure Functions v2. The purpose of it is similar to text related to SendGrid case. In case of Twilio, you need to install Microsoft.Azure.WebJobs.Extensions.Twilio NuGet package. After doing it, you should use the following code: using Twilio.Rest.Api.V2010.Account; using Twilio.Types; public static class SendNotificationSMS { [FunctionName("SendNotificationSMS")] public static void Run( [TwilioSms( From = "Assigned by Twilio number", Body = "...")] out CreateMessageOptions messageOptions) { messageOptions = new CreateMessageOptions( new PhoneNumber("Phone number to which you would like to send message")); } } Together with that, you should also add to [...]

By |2018-11-18T12:48:45+01:0018 November 2018 |.net, C#, Cloud Computing|0 Comments

Sending emails from Azure Functions v2 – SendGrid

Some time ago I described how you could integrate SendGrid service with Azure Functions (article: Sending emails from Azure Functions v2 – SendGrid link). Mentioned article is still valid in the scope of SendGrid service configuration. I need to add a part related to integration with Azure Functions v2. This version is generally available from the last few months and it introduced some architectural changes. In the previous version of functions (v1), the code that has been responsible for integration with different services providers was part of the runtime. Each time when Microsoft wanted to change something related to integration he needed [...]

By |2018-11-18T12:41:25+01:0018 November 2018 |.net, C#, Cloud Computing|0 Comments

Changing language of your all slides in presentation – spellchecker in PowerPoint

I wonder how often you are struggling with a small issue that is very irritating and there is a low chance of solving it or at least you do not see any potential for addressing it. For me, such a thing was PowerPoint spellchecker. Right now, I would say that most of your presentation should be done in English and this is a natural choice for me. And there is a small issue related to PowerPoint. Microsoft application is not perfect and it has small issues with languages: […]

By |2018-07-27T19:20:11+01:0027 July 2018 |Conferences / Presentations|1 Comment

FluentValidation.Validators.UnitTestExtension version 1.4

I just managed to publish a new version of package FluentValidation.Validators.UnitTestExtension. This package allows you to write unit tests for Fluent Validators in a more effective way. With version 1.4 following changes have been introduced: new verifiers that check the configuration of EnumValidator, MaxLengthValidator, MinLenghtValidator, ExactLengthValidator, ExclusiveBetweenValidator and InclusiveBetweenValidator support for .NETStandard 1.6 and .NETStandard 2.0 More information about the project is available on GitHub.

By |2018-07-01T22:23:57+01:001 July 2018 |Extras / Tools, Projects, Testing|0 Comments

How to enable/disable Azure Function programmatically

Today I would like to write about something different. I am curious… Have you ever thought about enabling/disabling Azure Function by code? In such scenario, we would be able to decide about the state of the function directly from our application. I believe that you can find a lot of useful scenarios for such behaviour. I will provide two of them. The first one. We have some resource that is not so fast and we would like to reduce the frequency of using it during the day. In such scenario, we can use Azure Storage Queue as a buffer for [...]

By |2018-06-27T18:22:10+01:0027 June 2018 |C#, Cloud Computing|2 Comments