Mark Heath is a software developer based in Southampton, England, working
for NICE Systems as a software architect creating cloud based digital
evidence management systems for the police. He is the creator of NAudio, an
open source audio framework for .NET.
Creating Your First Azure Function Hi, Mark Heath here, and in this module we're going to see how easy it is to create your first Azure Function. We'll start off by creating our first Azure Function using a free trial experience designed to get you started quickly. Our first function will be a simple webhook, and we'll see how easy it is to code and test it within the portal. And you'll be able to follow along as we go, even if you don't currently have an Azure account. And then we'll explore in more detail the options available in the Azure Functions section of the portal, including how to create your own function app and using function templates to quickly create many different function types. And I also want to give you a bit of a behind the scenes look at what's actually going on in your Azure Functions app, and so we'll see how the Kudu website lets us explore the servers that are actually running our functions, and we'll also see what's inside the storage accounts that Azure Functions creates for us.
Building a Function Pipeline Hi, Mark Heath here, and in this module we're going to continue our look at Azure Functions triggers and bindings by building out more of the function pipeline that we started to create in the last module. If you remember, in the last module we built a simple webhook that accepted order details sent to us from a third-party payment provider, and we wrote a JSON message onto a queue whenever our function was called. In this module, we're going to create the next two steps in our function pipeline. First of all, handling that queue message by creating a license file and storing it in Blob storage, and then responding to the creation of that license file by sending an email to the customer with the license file attached. And we'll also be upgrading our function pipeline to use Azure Table storage as both an additional output of our first function and as an extra input to our third function. So in this module, we'll get to use the queue trigger, the blob output binding and blob trigger, the SendGrid output binding for sending our emails, and the Table storage input and output bindings. And we'll also learn about some more advanced binding techniques using the IBinder interface. And the function pipeline we're building is designed to demonstrate how you can chain together several small single-purpose functions, which is a much more reliable and maintainable way of writing code than creating one single giant long-running function that tries to do everything. So let's get started by building the function that listens on our queue.
Deploying Azure Functions Hi, Mark Heath here, and in this module we'll be learning about the different ways you can deploy your Azure Functions. Now so far in this course we've done all of our coding directly within the Azure portal. And that's fine for experiments and prototyping, but at some point you're probably going to want to get your code under source control and only deploy when you're happy that it's ready to go live. So in this module, I'll be introducing you to two alternative ways to create and edit your function code. First, there's the Azure Functions command line tooling, which allows you to develop and manage your functions using the command line along with your favorite text editor. And there's also some Visual Studio tooling available, which is currently still in preview, but I'll show you how it allows you to develop your Azure Functions from within Visual Studio. And we'll also learn in this module about the various options for deploying your functions. Azure Functions supports several different techniques for continuous integration, and we'll focus particularly on using Git, which enables us to go live with our code simply by pushing our changes to a Git repository. So let's get started.
Working in Production Hi, Mark Heath here, and in this final module of our Azure Functions Fundamentals course we're going to focus on working in production. So far in this course we've learned how you can create functions, use triggers and bindings, and we've even looked at deploying our functions, so in one sense we're ready to go live. But there are still a few questions that I've not directly answered so far in this course, so in this final module I'll be answering the following questions. First, how can I monitor my functions? And I'll show you how to monitor what's happening right now, what happened historically, and how much you're spending. Then we'll answer how I can debug my functions? And I'll show you how to debug locally from both Visual Studio and Visual Studio Code, as well as how to do remote debugging in Azure. Next, we'll answer how can I reference NuGet packages from my functions? Then, how can I secure my functions? And we'll discuss a few different options for this, including how we can create and renew function keys. And how can I configure CORS for my functions? And then finally, I'm going to wrap up this course by pointing you in the direction of a few useful resources to help you learn more about the capabilities of Azure Functions. So, there's a lot to get through in this module. Let's start off by asking how can I monitor my functions?