Skip to content

Commit a7382bc

Browse files
authored
Merge pull request #1 from ggailey777/az-thiago
Refactor the portal quickstart
2 parents 671b813 + a181b13 commit a7382bc

7 files changed

+217
-113
lines changed

articles/azure-functions/TOC.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -477,12 +477,23 @@
477477
- name: Core Tools development
478478
href: functions-run-local.md
479479
displayName: local, runtime
480+
- name: Create a function app
481+
items:
482+
- name: Infrastructure as code
483+
href: functions-infrastructure-as-code.md
484+
displayName: bicep, ARM template, create function app
485+
- name: Azure portal
486+
href: functions-create-function-app-portal.md
487+
displayName: create function app
488+
- name: Azure CLI
489+
href: ./scripts/functions-cli-create-serverless.md
490+
displayName: create function app
480491
- name: Create functions
481492
items:
482493
- name: HTTP trigger
483494
items:
484495
- name: Azure portal
485-
href: functions-create-function-app-portal.md
496+
href: functions-create-http-endpoint.md
486497
- name: Kotlin using IntelliJ
487498
href: functions-create-maven-kotlin-intellij.md
488499
- name: Consumption plan
@@ -538,7 +549,7 @@
538549
href: bring-dependency-to-functions.md
539550
- name: Develop Python worker extensions
540551
href: develop-python-worker-extensions.md
541-
- name: Deploy
552+
- name: Deploy
542553
items:
543554
- name: Continuous deployment
544555
href: functions-continuous-deployment.md
@@ -561,9 +572,6 @@
561572
href: deployment-zip-push.md
562573
- name: Run from package
563574
href: run-functions-from-deployment-package.md
564-
- name: Automate resource deployment
565-
href: functions-infrastructure-as-code.md
566-
displayName: bicep, ARM template
567575
- name: Deploy using the Jenkins plugin
568576
href: /azure/developer/jenkins/deploy-to-azure-functions?toc=/azure/azure-functions/toc.json
569577
- name: Configure
Lines changed: 43 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,22 @@
11
---
2-
title: Create your first function in the Azure portal
3-
description: Learn how to create your first Azure Function for serverless execution using the Azure portal.
2+
title: Create a function app in the Azure portal
3+
description: Learn how to create a function app for serverless execution in Azure Functions using the Azure portal.
44
ms.topic: how-to
5-
ms.date: 09/11/2024
6-
ms.custom: devx-track-csharp, mvc, devcenter, cc996988-fb4f-47, devdivchpfy22, devx-track-extended-java, devx-track-js, devx-track-python, build-2024, devx-track-ts
7-
zone_pivot_groups: programming-languages-set-functions
5+
ms.date: 05/08/2025
6+
zone_pivot_groups: functions-hosting-plan-dynamic
87
---
98

10-
# Create your first function in the Azure portal
11-
12-
Azure Functions lets you run your code in a serverless environment without having to first create a virtual machine (VM) or publish a web application. In this article, you learn how to use Azure Functions to create a "hello world" HTTP trigger function in the Azure portal.
13-
14-
Choose your preferred programming language at the top of the article.
15-
16-
::: zone pivot="programming-language-csharp"
17-
>[!NOTE]
18-
>Editing your C# function code in the Azure portal is currently only supported for [C# script (.csx) functions](functions-reference-csharp.md). To learn more about the limitations on editing function code in the Azure portal, see [Development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal).
19-
>
20-
> You should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
21-
>+ [Visual Studio](functions-create-your-first-function-visual-studio.md)
22-
>+ [Visual Studio Code](./create-first-function-vs-code-csharp.md)
23-
>+ [Terminal/command prompt](./create-first-function-cli-csharp.md)
24-
::: zone-end
25-
::: zone pivot="programming-language-java"
26-
>[!NOTE]
27-
>Editing your Java function code in the Azure portal isn't currently supported. For more information, see [Development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal).
28-
>
29-
> You should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
30-
>+ [Eclipse](functions-create-maven-eclipse.md)
31-
>+ [Gradle](functions-create-first-java-gradle.md)
32-
>+ [IntelliJ IDEA](functions-create-maven-intellij.md)
33-
>+ [Maven](create-first-function-cli-java.md)
34-
>+ [Quarkus](functions-create-first-quarkus.md)
35-
>+ [Spring Cloud](/azure/developer/java/spring-framework/getting-started-with-spring-cloud-function-in-azure?toc=/azure/azure-functions/toc.json)
36-
>+ [Visual Studio Code](create-first-function-vs-code-java.md)
37-
::: zone-end
38-
::: zone pivot="programming-language-javascript"
39-
>[!NOTE]
40-
>Because of [development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal), you should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
41-
>+ [Visual Studio Code](./create-first-function-vs-code-node.md)
42-
>+ [Terminal/command prompt](./create-first-function-cli-node.md)
43-
::: zone-end
44-
::: zone pivot="programming-language-python"
45-
>[!NOTE]
46-
>Because of [development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal), you should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
47-
>+ [Visual Studio Code](./create-first-function-vs-code-python.md)
48-
>+ [Terminal/command prompt](./create-first-function-cli-python.md)
49-
::: zone-end
50-
::: zone pivot="programming-language-typescript"
51-
>[!NOTE]
52-
>Editing your TypeScript function code in the Azure portal isn't currently supported. For more information, see [Development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal).
53-
>
54-
> You should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
55-
>+ [Visual Studio Code](./create-first-function-vs-code-typescript.md)
56-
>+ [Terminal/command prompt](./create-first-function-cli-typescript.md)
57-
::: zone-end
58-
::: zone pivot="programming-language-powershell"
59-
>[!NOTE]
60-
>Because of [development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal), you should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
61-
>+ [Visual Studio Code](./create-first-function-vs-code-powershell.md)
62-
>+ [Terminal/command prompt](./create-first-function-cli-powershell.md)
63-
::: zone-end
64-
65-
Please review the [known issues](./recover-python-functions.md#development-issues-in-the-azure-portal) for development of Azure Functions using Python in the Azure portal.
9+
# Create a function app in the Azure portal
10+
11+
This article shows you how to use the Azure portal to create a function app that's hosted in Azure Functions. These hosting plan options, which support dynamic, event-driven scaling, are featured:
12+
13+
| Hosting option | Description |
14+
| ----- | ----- |
15+
| [Flex Consumption plan](./flex-consumption-plan.md) | Linux-only plan that provides rapid horizontal scaling with support for managed identities, virtual networking, and pay-as-you-go billing. |
16+
| [Premium plan](./functions-premium-plan.md) | Provides longer execution times, more control over CPU/memory, and support for containers and virtual networks. |
17+
| [Consumption plan](./consumption-plan.md) | Original dynamic hosting plan, which supports portal development for some languages. |
18+
19+
Choose your preferred hosting plan at the [top](#top) of the article. For more information about all supported hosting options, see [Azure Functions hosting options](functions-scale.md).
6620

6721
## Prerequisites
6822

@@ -76,46 +30,44 @@ Sign in to the [Azure portal](https://portal.azure.com) with your Azure account.
7630

7731
You must have a function app to host the execution of your functions. A function app lets you group functions as a logical unit for easier management, deployment, scaling, and sharing of resources.
7832

79-
Use these steps to create your function app and related Azure resources, whether or not you're able to edit your code in the Azure portal.
80-
::: zone pivot="programming-language-csharp"
81-
To be able to create a C# script app that you can edit in the portal, choose **8 (LTS), in-process model** for .NET **Version**.
82-
::: zone-end
83-
84-
[!INCLUDE [Create function app Azure portal](../../includes/functions-create-function-app-portal.md)]
33+
Use these steps to create your function app and related Azure resources in the Azure portal.
8534

86-
Next, create a function in the new function app.
35+
::: zone pivot="flex-consumption-plan"
36+
1. From the Azure portal menu or the **Home** page, select **Create a resource**.
8737

88-
::: zone pivot="programming-language-python,programming-language-javascript,programming-language-powershell,programming-language-csharp"
89-
## <a name="create-function"></a>Create an HTTP trigger function
38+
1. In the **New** page, select **Function App**.
9039

91-
1. In your function app, select **Overview**, and then select **+ Create** under **Functions**. If you don't see the **+ Create** button, you must instead [create your functions locally](./functions-develop-local.md).
40+
1. Under **Select a hosting option**, select **Flex Consumption** > **Select** to create your app in a [Flex Consumption plan](flex-consumption-plan.md). In this [serverless](https://azure.microsoft.com/overview/serverless-computing/) hosting option, you pay only for the time your functions run. To learn more about different hosting plans, see [Overview of plans](functions-scale.md#overview-of-plans).
9241

93-
1. Under **Select a template**, scroll down and choose the **HTTP trigger** template.
42+
1. On the **Basics** page, use the function app settings as specified in the following table:
9443

95-
1. In **Template details**, use `HttpExample` for **New Function**, select **Anonymous** from the **[Authorization level](functions-bindings-http-webhook-trigger.md#http-auth)** drop-down list, and then select **Create**.
44+
| Setting | Suggested value | Description |
45+
| ------------ | ---------------- | ----------- |
46+
| **Subscription** | Your subscription | The subscription under which you create your new function app. |
47+
| **[Resource Group](../azure-resource-manager/management/overview.md)** | *myResourceGroup* | Name for the new resource group in which you create your function app. You should create a new resource group because there are [known limitations when creating new function apps in an existing resource group](functions-scale.md#limitations-for-creating-new-function-apps-in-an-existing-resource-group).|
48+
| **Function App name** | Globally unique name | Name that identifies your new function app. Valid characters are `a-z` (case insensitive), `0-9`, and `-`. |
49+
|**Region**| Preferred region | Select a [region](https://azure.microsoft.com/regions/) that's near you or near other services that your functions can access. |
50+
| **Runtime stack** | Preferred language | Choose a runtime that supports your favorite function programming language. |
51+
|**Version**| Version number | Choose the version of your installed runtime. |
52+
|**Instance Size**| 2048 MB | The instance memory size used for each instance of the app as it scales. |
9653

97-
Azure creates the HTTP trigger function. Now, you can run the new function by sending an HTTP request.
98-
::: zone-end
99-
::: zone pivot="programming-language-java,programming-language-csharp,programming-language-typescript,programming-language-python"
100-
## Create your functions locally
54+
1. Accept the default options in the remaining tabs, including the default behavior of creating a new storage account on the **Storage** tab and a new Application Insights instance on the **Monitoring** tab. You can also choose to use an existing storage account or Application Insights instance, and change Azure OpenAI, Networking, Deployment, and Authentication settings.
10155

102-
If you aren't able to create your function code in the portal, you can instead create a local project and publish the function code to your new function app.
56+
1. Select **Review + create** to review the app configuration you chose, and then select **Create** to provision and deploy the function app.
10357

104-
1. In your function app, select **Overview**, and then in **Create functions in your preferred environment** under **Functions**.
58+
1. Select the **Notifications** icon in the upper-right corner of the portal and watch for the **Deployment succeeded** message.
10559

106-
1. Choose your preferred local development environment and follow the steps in the linked article to create and publish your first Azure Functions project.
60+
1. Select **Go to resource** to view your new function app. You can also select **Pin to dashboard**. Pinning makes it easier to return to this function app resource from your dashboard.
10761

108-
>[!TIP]
109-
>When publishing your new project, make sure to use the function app and related resources you just created.
110-
::: zone-end
111-
## Test the function
112-
113-
[!INCLUDE [functions-test-function-portal](../../includes/functions-test-function-portal.md)]
114-
115-
## Clean up resources
116-
117-
[!INCLUDE [Clean-up resources](../../includes/functions-quickstart-cleanup.md)]
62+
:::image type="content" source="../../includes/media/functions-create-function-app-portal/function-app-create-notification-new.png" alt-text="Screenshot of deployment notification.":::
63+
::: zone-end
64+
::: zone pivot="consumption-plan"
65+
[!INCLUDE [Create Consumption plan app Azure portal](../../includes/functions-create-function-app-portal.md)]
66+
::: zone-end
67+
::: zone pivot="premium-plan"
68+
[!INCLUDE [Create Premium plan app Azure portal](../../includes/functions-premium-create.md)]
69+
::: zone-end
11870

11971
## Next steps
12072

121-
[!INCLUDE [Next steps note](../../includes/functions-quickstart-next-steps.md)]
73+
[!INCLUDE [functions-quickstarts-infra-next-steps](../../includes/functions-quickstarts-infra-next-steps.md)]

0 commit comments

Comments
 (0)