Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Azure icon

Deploy a Function Created with Azure Functions Core Tools to Azure

In this hands-on lab, we will build an Azure Function app on a Windows VM and then publish it to an Azure Function app service within Azure. We will do this all using Azure Functions core tools.

Azure icon

Path Info

Clock icon Intermediate
Clock icon 45m
Clock icon Feb 28, 2020

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Log In to the Azure Portal

    Log in to the Azure Portal using the username and password supplied by the lab.

    1. Open a browser.
    2. Navigate to the provided Azure Portal URL.
    3. Use the supplied username and password to authenticate.
  2. Challenge

    Remote into the Windows VM

    Starting in the Azure dashboard, perform the following tasks:

    1. Open the navigation menu in the upper-left of the Portal.
    2. Click on All resources.

    Wait for the the list of all resources appear.

    In the list, click on the lab-VM resource.

    Wait for the VM overview page to open. On that page, make note of the public IP address.

    Using a remote desktop client, connect to the IP address of the VM. Log in using the credentials provided on the lab page.

    Accept the certificate if asked to do so.

    Wait patiently for the desktop to load and stabilize, then click No for network sharing and close the server manager if it opens.

  3. Challenge

    Install Azure Functions Core Tools

    Open PowerShell ISE as an administrator. Open a new script window. Paste the following into the editor window, not the blue pane.

    choco install nodejs-lts -y --force
    npm i -g azure-functions-core-tools@3 --unsafe-perm true
    code --install-extension ms-vscode.csharp
    code --install-extension ms-vscode.azurecli
    code --install-extension ms-azuretools.vscode-azurefunctions
    code --install-extension
    code --install-extension ms-azuretools.vscode-azurestorage
    code --install-extension ms-vscode.powershell

    Run the script by pressing F5 or the play button.

    Wait for a few minutes for it to complete.

    Close the PowerShell ISE window.

  4. Challenge

    Open the Source Code in Visual Studio Code

    Open an administrative command prompt. Change to the directory with the code using the following command:

    cd \code\deploy

    Now open the project in Visual Studio Code with the following command:

    code .

    Wait for Visual Studio Code to open the solution.

    On the toast message about detecting an Azure Functions project being found in the folder, press the Yes button.

    On the toast message about There are unresolved dependencies..., click the Restore button.

  5. Challenge

    Build, Deploy, and Test the Function App

    In Visual Studio Code, open the deploy.ps1 file in the project. We will execute commands in this script one-by-one. Each line of the script can be individually executed by selecting the line and pressing F8.

    First, change the directory. While this is not required, it's good practice.

    cd \code\deploy

    Build the solution:

    dotnet build

    Log in to Azure with the Azure CLI. This is very important.

    az login

    This will pop-up Internet Explorer for logging in. On the nag screen about security, select the default option. A tab will open with a log in form, but another tab will open on top welcoming you to IE - close that one.

    Back in the login form, log in using the credentials previously used to log into Azure, not the credentials to log into the VM.

    The terminal window in VS Code will show some JSON indicating a successful login.

    Now get the function app name by running the following PowerShell / Azure CLI:

    $name = $(az functionapp list --query "[0].name" -o tsv)

    And now deploy the function app to Azure with the following Azure Core Function Tools commmand:

    func azure functionapp publish $name --csharp --force

    This will take several minutes. When complete, the system provides a URL by the output of the deployment. Copy that URL to the clipboard.

    Go back to the Azure Portal in the browser. Go to the overview of the function app. This will be in the All resources list as an app service with a name starting with fa-. This is also seen as ouput of the above command to get the function app name.

    From the function app overview, refresh the view of the function app in the tree on the left side. Click on the function named MyHttoFunction.

    This shows the open file function.json.

    On the left of the browser page, click on Test. Wait for the panel to open.

    In the query section, click + Add parameter, and add a parameter name. Enter a value without spaces or special characters.

    Go to the bottom of the panel and press the Run button. In a moment, the output will show a Status: 200 OK message above the Run button if everything worked.

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans