Skip to content

Commit 1137cb7

Browse files
Merge pull request #49232 from wwlpublish/efc4447052f6b42161cb8417989966cedaf8be19529aaeb6788b4f26e1485164-live
Modules/M02-develop-azure-functions
2 parents 215e455 + b61205f commit 1137cb7

11 files changed

+31
-25
lines changed

learn-pr/wwl-azure/develop-azure-functions/1-introduction.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ metadata:
66
prefetch-feature-rollout: true
77
title: Introduction
88
description: "Introduction"
9-
ms.date: 07/09/2024
9+
ms.date: 02/14/2025
1010
author: wwlpublish
1111
ms.author: jeffko
1212
ms.topic: unit
1313
ms.custom:
1414
- N/A
1515
durationInMinutes: 3
1616
content: |
17-
[!include[](includes/1-introduction.md)]
17+
[!include[](includes/1-introduction.md)]

learn-pr/wwl-azure/develop-azure-functions/2-azure-function-development-overview.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ metadata:
66
prefetch-feature-rollout: true
77
title: Explore Azure Functions development
88
description: "Explore Azure Functions development"
9-
ms.date: 07/09/2024
9+
ms.date: 02/14/2025
1010
author: wwlpublish
1111
ms.author: jeffko
1212
ms.topic: unit
1313
ms.custom:
1414
- N/A
1515
durationInMinutes: 3
1616
content: |
17-
[!include[](includes/2-azure-function-development-overview.md)]
17+
[!include[](includes/2-azure-function-development-overview.md)]

learn-pr/wwl-azure/develop-azure-functions/3-create-triggers-bindings.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ metadata:
66
prefetch-feature-rollout: true
77
title: Create triggers and bindings
88
description: "Create triggers and bindings"
9-
ms.date: 07/09/2024
9+
ms.date: 02/14/2025
1010
author: wwlpublish
1111
ms.author: jeffko
1212
ms.topic: unit
1313
ms.custom:
1414
- N/A
15-
durationInMinutes: 3
15+
durationInMinutes: 8
1616
content: |
17-
[!include[](includes/3-create-triggers-bindings.md)]
17+
[!include[](includes/3-create-triggers-bindings.md)]

learn-pr/wwl-azure/develop-azure-functions/4-connect-azure-services.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ metadata:
66
prefetch-feature-rollout: true
77
title: Connect functions to Azure services
88
description: "Connect functions to Azure services"
9-
ms.date: 07/09/2024
9+
ms.date: 02/14/2025
1010
author: wwlpublish
1111
ms.author: jeffko
1212
ms.topic: unit
1313
ms.custom:
1414
- N/A
1515
durationInMinutes: 3
1616
content: |
17-
[!include[](includes/4-connect-azure-services.md)]
17+
[!include[](includes/4-connect-azure-services.md)]

learn-pr/wwl-azure/develop-azure-functions/5-create-function-visual-studio-code.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ metadata:
66
prefetch-feature-rollout: true
77
title: 'Exercise: Create an Azure Function by using Visual Studio Code'
88
description: "Exercise: Create an Azure Function by using Visual Studio Code"
9-
ms.date: 07/09/2024
9+
ms.date: 02/14/2025
1010
author: wwlpublish
1111
ms.author: jeffko
1212
ms.topic: unit
1313
ms.custom:
1414
- N/A
1515
durationInMinutes: 15
1616
content: |
17-
[!include[](includes/5-create-function-visual-studio-code.md)]
17+
[!include[](includes/5-create-function-visual-studio-code.md)]

learn-pr/wwl-azure/develop-azure-functions/6-knowledge-check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ metadata:
66
prefetch-feature-rollout: true
77
title: Knowledge check
88
description: "Knowledge check"
9-
ms.date: 07/09/2024
9+
ms.date: 02/14/2025
1010
author: wwlpublish
1111
ms.author: jeffko
1212
ms.topic: unit
@@ -37,4 +37,4 @@ quiz:
3737
explanation: "Incorrect. Triggers only support the `in` direction."
3838
- content: "Connection value"
3939
isCorrect: false
40-
explanation: "Incorrect. A connection value is used to connect your function to other Azure services."
40+
explanation: "Incorrect. A connection value is used to connect your function to other Azure services."

learn-pr/wwl-azure/develop-azure-functions/7-summary.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ metadata:
66
prefetch-feature-rollout: true
77
title: Summary
88
description: "Summary"
9-
ms.date: 07/09/2024
9+
ms.date: 02/14/2025
1010
author: wwlpublish
1111
ms.author: jeffko
1212
ms.topic: unit
1313
ms.custom:
1414
- N/A
1515
durationInMinutes: 3
1616
content: |
17-
[!include[](includes/7-summary.md)]
17+
[!include[](includes/7-summary.md)]

learn-pr/wwl-azure/develop-azure-functions/includes/2-azure-function-development-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
A function app provides an execution context in Azure in which your functions run. As such, it's the unit of deployment and management for your functions. A function app is composed of one or more individual functions that are managed, deployed, and scaled together. All of the functions in a function app share the same pricing plan, deployment method, and runtime version. Think of a function app as a way to organize and collectively manage your functions.
22

33
> [!NOTE]
4-
> In Functions 2.x all functions in a function app must be authored in the same language. In previous versions of the Azure Functions runtime, this wasn't required.
4+
> In Functions 2.x, all functions in a function app must be authored in the same language. In previous versions of the Azure Functions runtime, this wasn't required.
55
66
## Develop and test Azure Functions locally
77

@@ -23,7 +23,7 @@ A Functions project directory contains the following files in the project root f
2323
The `host.json` metadata file contains configuration options that affect all functions in a function app instance. Other function app configuration options are managed depending on where the function app runs:
2424

2525
* **Deployed to Azure:** in your application settings
26-
* **On your local computer:** in the local.settings.json file.
26+
* **On your local computer:** in the `local.settings.json` file.
2727

2828
Configurations in `host.json` related to bindings are applied equally to each function in the function app. You can also override or apply settings per environment using application settings. To learn more, see the [host.json reference](/azure/azure-functions/functions-host-json).
2929

learn-pr/wwl-azure/develop-azure-functions/includes/3-create-triggers-bindings.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ You can mix and match different bindings to suit your needs. Bindings are option
66

77
Triggers and bindings let you avoid hardcoding access to other services. Your function receives data (for example, the content of a queue message) in function parameters. You send data (for example, to create a queue message) by using the return value of the function.
88

9+
When you develop your functions locally, you need to take trigger and binding behaviors into consideration. For HTTP triggers, you can call the HTTP endpoint on the local computer, using `http://localhost/`. For non-HTTP triggered functions, there are several options to run locally:
10+
11+
* The easiest way to test bindings during local development is to use connection strings that target live Azure services. You can target live services by adding the appropriate connection string settings in the `Values` array in the local.settings.json file. When you do this, local executions during testing use live service data. Because of this, consider setting-up separate services to use during development and testing, and then switch to different services during production.
12+
* For storage-based triggers, you can use the local [Azurite emulator](/azure/storage/common/storage-use-azurite) when testing functions with Azure Storage bindings (Queue Storage, Blob Storage, and Table Storage), without having to connect to remote storage services.
13+
* You can manually run non-HTTP trigger functions by using special administrator endpoints. For more information, see [Manually run a non HTTP-triggered function](/azure/azure-functions/functions-manually-run-non-http).
14+
915
## Trigger and binding definitions
1016

1117
Triggers and bindings are defined differently depending on the development language.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
As a security best practice, Azure Functions takes advantage of the application settings functionality of Azure App Service to help you more securely store strings, keys, and other tokens required to connect to other services. Application settings in Azure are stored encrypted and can be accessed at runtime by your app as environment variable `name` `value` pairs. For triggers and bindings that require a connection property, you set the application setting name instead of the actual connection string. You can't configure a binding directly with a connection string or key.
1+
As a security best practice, Azure Functions takes advantage of the application settings functionality of Azure App Service to help you more securely store strings, keys, and other tokens required to connect to other services. Application settings in Azure are stored encrypted and accessed at runtime by your app as environment variable `name` `value` pairs. For triggers and bindings that require a connection property, you set the application setting name instead of the actual connection string. You can't configure a binding directly with a connection string or key.
22

33
The default configuration provider uses environment variables. These variables are defined in application settings when running in the Azure and in the local settings file when developing locally.
44

55
## Configure an identity-based connection
66

7-
Some connections in Azure Functions are configured to use an identity instead of a secret. Support depends on the extension using the connection. In some cases, a connection string may still be required in Functions even though the service to which you're connecting supports identity-based connections.
7+
Some connections in Azure Functions are configured to use an identity instead of a secret. Support depends on the extension using the connection. In some cases, a connection string might still be required in Functions even though the service to which you're connecting supports identity-based connections.
88

99
> [!NOTE]
10-
> When running in a Consumption or Elastic Premium plan, your app uses the `WEBSITE_AZUREFILESCONNECTIONSTRING` and `WEBSITE_CONTENTSHARE` settings when connecting to Azure Files on the storage account used by your function app. Azure Files doesn't support using managed identity when accessing the file share.
10+
> An app running in a Consumption or Elastic Premium plan, uses the `WEBSITE_AZUREFILESCONNECTIONSTRING` and `WEBSITE_CONTENTSHARE` settings when connecting to Azure Files on the storage account used by your function app. Azure Files doesn't support using managed identity when accessing the file share.
1111
1212
When hosted in the Azure Functions service, identity-based connections use a managed identity. The system-assigned identity is used by default, although a user-assigned identity can be specified with the `credential` and `clientID` properties. Configuring a user-assigned identity with a resource ID is **not** supported. When run in other contexts, such as local development, your developer identity is used instead, although this can be customized.
1313

1414
## Grant permission to the identity
1515

16-
Identities must have permissions to perform the intended actions. This is typically done by assigning a role in Azure RBAC or specifying the identity in an access policy, depending on the service to which you're connecting.
16+
Identities must have permissions to perform the intended actions. This is typically done by assigning a role in Azure role-based access control or specifying the identity in an access policy, depending on the service to which you're connecting.
1717

1818
> [!IMPORTANT]
19-
> Some permissions might be exposed by the target service that are not necessary for all contexts. Where possible, adhere to the **principle of least privilege**, granting the identity only required privileges.
19+
> Some permissions might be exposed by the target service that aren't necessary for all contexts. Where possible, adhere to the **principle of least privilege**, granting the identity only required privileges.

0 commit comments

Comments
 (0)