MSDN Community

Explore & Innovate

Getting Started with Azure Functions: Your First Serverless App

Welcome to Tutorial 1 in our Explore series! In this hands-on guide, you'll learn how to create your very first Azure Function, a powerful serverless compute service that enables you to run small pieces of code, or "functions," without managing infrastructure. This is a fundamental step in building modern, scalable cloud applications.

Prerequisites

Before we begin, please ensure you have the following installed and set up:

  • Azure Account: If you don't have one, sign up for a free Azure account.
  • Azure Functions Core Tools: Install the latest version from the official documentation.
  • IDE/Code Editor: Visual Studio Code with the Azure Functions extension is highly recommended.

Step 1: Create a New Azure Functions Project

We'll start by creating a new local project for our Azure Function.

Using the Azure Functions Core Tools CLI:

Open your terminal or command prompt and navigate to the directory where you want to create your project. Then, run the following command:

func init MyFirstFunctionApp --worker-runtime node --language javascript

This command initializes a new project named MyFirstFunctionApp using Node.js and JavaScript as the runtime and language.

Using Visual Studio Code:

1. Open Visual Studio Code.

2. Press Ctrl+Shift+P (or Cmd+Shift+P on macOS) to open the Command Palette.

3. Type "Azure Functions: Create New Project..." and select it.

4. Choose a folder for your project.

5. Select "JavaScript" as the language.

6. Select "Node.js" as the Node.js runtime.

Step 2: Add Your First HTTP Trigger Function

Now, let's add a function that will be triggered by an HTTP request.

Using the Azure Functions Core Tools CLI:

Navigate into your project directory (cd MyFirstFunctionApp) and run:

func new --name HttpTrigger --template "HTTP trigger" --authlevel "anonymous"

This creates a new function named HttpTrigger, configured to respond to HTTP requests without requiring authentication.

Using Visual Studio Code:

1. Open the Command Palette (Ctrl+Shift+P).

2. Type "Azure Functions: Create Function..." and select it.

3. Select your project folder.

4. Choose "HTTP trigger" as the template.

5. Enter HttpTrigger as the function name.

6. Select "anonymous" for the authorization level.

This will create a new folder HttpTrigger within your project, containing two files:

  • index.js: Contains the JavaScript code for your function.
  • function.json: Defines the function's bindings (how it's triggered and what it interacts with).

Step 3: Understand the Function Code

Open the HttpTrigger/index.js file. You'll see something like this:


async function index(context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    const name = (req.query.name || (req.body && req.body.name));
    const responseMessage = name
        ? 'Hello, ' + name + '!'
        : 'This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.';

    context.res = {
        // status: 200, /* Defaults to 200 */
        body: responseMessage
    };
}

module.exports = index;
                    

Explanation:

  • The index function is the entry point.
  • context provides information about the invocation and allows you to interact with Azure.
  • req represents the incoming HTTP request.
  • The code checks for a name parameter in the query string or request body.
  • It constructs a personalized greeting or a default message.
  • context.res is used to set the HTTP response.

Step 4: Run Your Function Locally

You can test your function directly on your machine without deploying it to Azure.

Using the Azure Functions Core Tools CLI:

In your terminal, from the root of your project directory, run:

func start

The CLI will build and start your function app. You'll see output indicating that your HttpTrigger is running and available at a local URL, typically http://localhost:7071/api/HttpTrigger.

Using Visual Studio Code:

1. Click the "Run and Debug" icon in the sidebar.

2. Select "Azure Functions" from the dropdown at the top.

3. Press the green play button (F5) to start debugging.

VS Code will launch your function app locally, and you can see the local endpoint in the Debug Console.

Open your web browser or a tool like Postman and navigate to the local URL. Try adding a name to the query string, like:

http://localhost:7071/api/HttpTrigger?name=World

You should see the response: Hello, World!.

Next Steps: Congratulations on creating your first Azure Function! In the next tutorial, we'll explore how to deploy this function to Azure and make it accessible from the internet.