Azure Function Trigger Reference Guide
This is a quick reference covering general topics for the most common Azure Function triggers I deal with on a weekly basis. Its by no means a conclusive list or troubleshooting guide but hopefully it can be used as quick read/refresher. Azure CosmosDB/DocumentDB Azure EventGridAzure Eventhub/Azure IoT HubAzure ServicebusAzure Storage BlobsAzure Storage QueuesHTTP Timer Azure…
ARM Template for Event Grid integration with a new Azure Function
TL/DR – Link to the template: https://github.com/jcbrooks92/EventGridAzureFunctionARMTemplate/tree/master Creating an ARM template with integration between an Azure function and Event Grid requires the general function template, Event Grid resource and lastly a system key from the Azure function that is used to authenticate the validation call from Event Grid. Update 2/12/2020There has been a recent update…
ARM Template for Event Grid integration with an Existing Azure Function
Recently the Azure Functions Team released a set of ARM APIs related to retrieving information about your function app such as the function keys, host key, functions deployed to the function app, and the system keys. The system keys are required to wire up Event Grid with your function app since Event Grid has to…
Load Root Certificate in an ILB ASE
Here’s the steps to upload a certificate to the Root Certificate store on the instance of an ILB ASE. This feature only works for ASEs. Brief overview: Go to an app that needs the cert to be available. Prepare your cert as a cer file (see steps below for more detail with screenshots) Go to…
Restoring Deleted Function Code
The three hosting models for Azure Functions are Consumption (serverless), Dedicated, and Premium (hybrid of dedicated and serverless). Depending on the type of function used dictates if and how the function app code can be restored. Restoring Deleted Code from Consumption and Premium Functions Consumption and Premium by default require users to have an app…
Accessing Azure Functions on ILB ASEs in the Azure Portal
There are two versions of ILB ASEs, one where a custom domain must be provided with a certificate and the newer version that is created with the .appserviceenvrionment.net domain (default configuration after May 2019 unless you specify an older version of the API). If you have an ASE that has the .appserviceenvironment.net domain you will…
Troubleshooting App Initialization (IIS Warmup) on Azure Web Apps
Troubleshooting App Init (IIS Warmup) Lately our team has been getting a higher load of issues related to customers trying to utilize the Application Initialization Module. This module is handy feature that allows you to warm your app prior to the application receiving requests to help avoid the dreaded cold-start or slow initial load times…
Gitlab Continuous (CI/CD) with an Azure Web App
Recently I came across a case with helping a customer configure Gitlab with Azure web app using continuous integration. App Services support Git repositories from Bitbucket, Github, and VSTS Git natively but Gitlab requires a bit more manual setup. Referenced these two helpful blogshttps://christianliebel.com/2016/05/auto-deploying-to-azure-app-services-from-gitlab/ https://teerachail.gitbooks.io/the-s-sentials/content/gitlab2appservice.html Go to the Azure portal under your web app ->…
Troubleshooting SMTP issues/Sending emails from Azure Web Apps
In the past year I’ve come across a number of issues related to sending emails from web apps that work locally but when a customer is developing or deploying to an Azure Web App, the connection fails. Here are some straightforward step by step troubleshooting steps to isolate platform vs your code. 1. Are you…
Access Grayed Out Features for an ILB App Service Environment
Here’s some quick workarounds to access the features that may be grayed out in the Azure Portal. I’ve seen a lot of people have questions on how to get to the Log Stream specifically. You can make a request to https://appname.scm.asedomain.com/api/logstream/ and the logs will be streamed directly to your browser. It’s recommended to use…