Developing with ARM-based Surface Laptop Copilot+PC

This week I was excited to finally get my hands on a new PC for my personal use. I purchased one of the new ARM-based Surface Laptop Copilot+ PCs. As a developer focused on .NET and Azure, I was eager to see how well this sleek new machine could handle my day-to-day workflow.

While performance and battery life have impressed me so far, I’ve run into a few bumps in the road when it comes to local development, especially in areas that rely on platform-specific tooling or containerized environments. In this post, I’ll highlight a couple of early challenges I’ve encountered and what I did to work around them. I’ll update this post as I learn more and adapt my setup.

[Read More]

Azure Functions Zip Deploy with Azure AD Authentication

I was recently faced with a scenario where I needed a script to deploy an Azure Function. Specifically, there was a desire to use a REST API to deploy a .zip file of the Function app.

The documentation for “Deploy ZIP file with REST APIs” indicates this is possible via a HTTP POST request to https://{APP-NAME}.scm.azurewebsites.net/api/zipdeploy. One challenge with the current documentation is the stated need to use HTTP BASIC authentication. Needing to use BASIC authentication is a problem if BASIC authentication is disabled.

[Read More]

Azure Function Secretless Extensions - First Experience

I recently started experimenting with the beta versions of the new Azure Storage and Event Hub extensions for Azure Functions. The new extensions use the new Azure SDK, and as a result, include support for using Azure AD to authenticate to specific Azure resources (a.k.a., managed identities). I’m a fan of having fewer secrets to manage. Less secrets . . . more better. 😉

This intent of this blog post is to share my initial experiences with the extensions. It’s still early, and thus I expect a few bumps in along the way. Jerry Seinfeld - Giddy Up

[Read More]

Change the Azure Functions system keys

I was recently asked how to change Azure Functions’ system keys, such as the ones automatically created by the Event Grid or Durable Functions extensions.

It’s possible to change these keys via the Azure portal. There is a button in the portal to generate a new key.

Azure portal to generate new function keys

What if you want to change the keys programmatically? I couldn’t find official documentation which stated how to do so. After a bit of splunking through GitHub issues (here, here) and reading Mark Heath’s excellent blog post on Azure Function keys, I think I found an approach that, so far, seems to work.

[Read More]

The case of the inconsistent Azure Functions host key

I recently ran into a situation using the Azure Functions default host key where I did not understand the behavior I was observing. Thanks to the help of some fantastic colleagues, we figured out what was going on. I understand what is happening now. I want to share here in hopes that my experience will help others that may run into a similar challenge.

Scenario

I needed to create an Azure Function app via an ARM template. The ARM template should create the Function app resource and set the necessary application settings. One of those app settings should be a Key vault reference to a secret which contains the default host key for the function app. My function’s application code would retrieve that and invoke another function in the app.

[Read More]