<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Azure-Functions on Michael S. Collier</title>
    <link>/tags/azure-functions/</link>
    <description>Recent content in Azure-Functions on Michael S. Collier</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>Michael S. Collier</copyright>
    <lastBuildDate>Wed, 23 Jul 2025 19:27:02 -0400</lastBuildDate>
    <atom:link href="/tags/azure-functions/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Developing with ARM-based Surface Laptop Copilot&#43;PC</title>
      <link>/developing-with-arm-based-surface-laptop-copilot-pc/</link>
      <pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate>
      <guid>/developing-with-arm-based-surface-laptop-copilot-pc/</guid>
      <description>&lt;p&gt;This week I was excited to &lt;em&gt;finally&lt;/em&gt; get my hands on a new PC for my personal use.  I purchased one of the &lt;a href=&#34;https://www.microsoft.com/en-us/store/configure/surface-laptop-15-inch/8mzbmmcjzqc4&#34;&gt;new ARM-based Surface Laptop Copilot+ PCs&lt;/a&gt;. 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.&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Functions Zip Deploy with Azure AD Authentication</title>
      <link>/azure-functions-zip-deploy-with-azure-ad-authentication/</link>
      <pubDate>Sun, 05 Dec 2021 16:00:00 -0500</pubDate>
      <guid>/azure-functions-zip-deploy-with-azure-ad-authentication/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;p&gt;The documentation for &lt;a href=&#34;https://docs.microsoft.com/azure/azure-functions/deployment-zip-push#rest&#34;&gt;“Deploy ZIP file with REST APIs”&lt;/a&gt; indicates this is possible via a HTTP POST request to &lt;a href=&#34;https://%7BAPP-NAME%7D.scm.azurewebsites.net/api/zipdeploy&#34;&gt;https://{APP-NAME}.scm.azurewebsites.net/api/zipdeploy&lt;/a&gt;.  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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Function Secretless Extensions - First Experience</title>
      <link>/azure-function-secretless-extensions-first-experience/</link>
      <pubDate>Mon, 15 Mar 2021 09:00:00 -0500</pubDate>
      <guid>/azure-function-secretless-extensions-first-experience/</guid>
      <description>&lt;p&gt;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 &lt;a href=&#34;https://aka.ms/azsdk&#34;&gt;new Azure SDK&lt;/a&gt;, and as a result, include support for using Azure AD to authenticate to specific Azure resources (a.k.a., &lt;a href=&#34;https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview&#34;&gt;managed identities&lt;/a&gt;).  I&amp;rsquo;m a fan of having fewer secrets to manage.  Less secrets . . . more better.  &amp;#x1f609;&lt;/p&gt;&#xA;&lt;p&gt;This intent of this blog post is to share my initial experiences with the extensions.  It&amp;rsquo;s still early, and thus I expect a few bumps in along the way.&#xA;&lt;img src=&#34;https://media.giphy.com/media/aMh59aKR8vjdC/giphy.gif&#34; alt=&#34;Jerry Seinfeld - Giddy Up&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change the Azure Functions system keys</title>
      <link>/change-the-azure-functions-system-keys/</link>
      <pubDate>Fri, 11 Dec 2020 14:10:00 -0500</pubDate>
      <guid>/change-the-azure-functions-system-keys/</guid>
      <description>&lt;p&gt;I was recently asked how to change Azure Functions&amp;rsquo; &lt;a href=&#34;https://docs.microsoft.com/azure/azure-functions/security-concepts#system-key&#34;&gt;system keys&lt;/a&gt;, such as the ones automatically created by the Event Grid or Durable Functions extensions.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s possible to change these keys via the Azure portal.  There is a button in the portal to generate a new key.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;/images/azure-functions-system-key-change/portal-renew-key-value-with-arrows.png&#34; alt=&#34;Azure portal to generate new function keys&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;What if you want to change the keys programmatically?  I couldn&amp;rsquo;t find official documentation which stated how to do so.  After a bit of splunking through GitHub issues (&lt;a href=&#34;https://github.com/Azure/azure-functions-host/issues/4728&#34;&gt;here&lt;/a&gt;, &lt;a href=&#34;https://github.com/Azure/azure-functions-host/issues/3994#issuecomment-472108298&#34;&gt;here&lt;/a&gt;) and reading &lt;a href=&#34;https://markheath.net/post/managing-azure-functions-keys-2&#34;&gt;Mark Heath&amp;rsquo;s excellent blog post on Azure Function keys&lt;/a&gt;, I think I found an approach that, so far, seems to work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The case of the inconsistent Azure Functions host key</title>
      <link>/the-case-of-the-inconsistent-azure-functions-host-key/</link>
      <pubDate>Tue, 01 Dec 2020 01:01:45 -0500</pubDate>
      <guid>/the-case-of-the-inconsistent-azure-functions-host-key/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;h2 id=&#34;scenario&#34;&gt;Scenario&lt;/h2&gt;&#xA;&lt;p&gt;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 &lt;a href=&#34;https://docs.microsoft.com/azure/app-service/app-service-key-vault-references&#34;&gt;Key vault reference&lt;/a&gt; to a secret which contains the &lt;a href=&#34;https://docs.microsoft.com/azure/azure-functions/security-concepts#function-access-keys&#34;&gt;default host key&lt;/a&gt; for the function app.  My function&amp;rsquo;s application code would retrieve that and invoke another function in the app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Functions - Team ASCII Art Wins</title>
      <link>/azure-functions-team-ascii-art-wins/</link>
      <pubDate>Tue, 17 Nov 2020 08:15:00 -0400</pubDate>
      <guid>/azure-functions-team-ascii-art-wins/</guid>
      <description>&lt;p&gt;A few months ago one of the greatest scandals to hit Azure Functions erupted . . . ASCIIartgate!&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://gph.is/1WDltOQ&#34;&gt;&lt;img src=&#34;../../images/azure-functions-ascii-art-is-back/giphy.gif&#34; alt=&#34;something&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://twitter.com/hashtag/teamAsciiArt&#34;&gt;#teamAsciiArt&lt;/a&gt; became a trending topic on Twitter.  Maybe.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-big-deal&#34;&gt;The Big Deal&lt;/h2&gt;&#xA;&lt;p&gt;In an &lt;a href=&#34;https://github.com/Azure/azure-functions-core-tools/issues/1131&#34;&gt;effort&lt;/a&gt; to reduce the verbosity of logging output by &lt;code&gt;func start&lt;/code&gt; in the Azure Functions Core Tools, the decision was made to remove the famed ASCII art.  To be fair, running &lt;code&gt;func start&lt;/code&gt; did output quite a bit of logs.  The ASCII art version of the Azure Functions logo was just one of those logs.  It just happened to be the most famous of those logs.  The logo was the thing of highly coveted t-shirts!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inbound Private Endpoints With Azure Functions</title>
      <link>/inbound-private-endpoints-with-azure-functions/</link>
      <pubDate>Mon, 22 Jun 2020 22:05:19 -0400</pubDate>
      <guid>/inbound-private-endpoints-with-azure-functions/</guid>
      <description>&lt;p&gt;Earlier this year I wrote a &lt;a href=&#34;../azure-functions-private-site-access&#34;&gt;post showing how to set up private site access for Azure Functions&lt;/a&gt;.  To briefly recap, private site access refers to setting up a virtual network service endpoint to restrict HTTP-based access to the function to be only traffic from the designated virtual network (i.e. inbound HTTP requests).  Attempts to access the public endpoint (e.g., &lt;a href=&#34;https://contoso.azurewebsites.net&#34;&gt;https://contoso.azurewebsites.net&lt;/a&gt;) result in an HTTP 403 Forbidden message.  &lt;a href=&#34;https://docs.microsoft.com/azure/virtual-network/virtual-network-service-endpoints-overview&#34;&gt;Service endpoints&lt;/a&gt; are great, but they are not without some drawbacks (use a public IP address, doesn&amp;rsquo;t work with connections from on-premises resources (i.e. ExpressRoute), limited RBAC features, etc.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Functions with Private Endpoints</title>
      <link>/azure-functions-with-private-endpoints/</link>
      <pubDate>Fri, 15 May 2020 02:00:00 -0400</pubDate>
      <guid>/azure-functions-with-private-endpoints/</guid>
      <description>&lt;p&gt;As enterprises continue to adopt serverless (and Platform-as-a-Service, or PaaS) solutions, they often need a way to integrate with existing resources on a virtual network.  These existing resources could be databases, file storage, message queues or event streams, or REST APIs.  In doing so, those interactions need to take place within the virtual network.  Until relatively recently, combining serverless/PaaS offerings with traditional network access restrictions was complex, if not nearly impossible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Functions Private Site Access</title>
      <link>/azure-functions-private-site-access/</link>
      <pubDate>Wed, 22 Jan 2020 09:00:00 -0500</pubDate>
      <guid>/azure-functions-private-site-access/</guid>
      <description>&lt;p&gt;This post will demonstrate how to create an &lt;a href=&#34;https://docs.microsoft.com/azure/azure-functions/functions-networking-options#private-site-access&#34;&gt;Azure Function with private site access&lt;/a&gt;. Private site access refers to a way for resources within a virtual network to reach out to an Azure Function.  Configuring private site access ensures that the specified Azure Function is not able to be triggered via the public internet. Instead, the function can only be accessed via a specific virtual network. The function is private to the specified virtual network.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
