Skip to content

Commit 7e21e80

Browse files
committed
Merge branch 'main' into release-microsoft-discovery
2 parents 81b1030 + 14292b4 commit 7e21e80

13 files changed

Lines changed: 140 additions & 135 deletions

articles/azure-functions/consumption-plan.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@ ms.custom:
1010

1111
# Azure Functions Consumption plan hosting (legacy)
1212

13-
[!INCLUDE [functions-consumption-legacy-banner](../../includes/functions-consumption-legacy-banner.md)]
13+
[!INCLUDE [functions-linux-consumption-retirement](../../includes/functions-linux-consumption-retirement.md)]
1414

1515
When you use the Consumption plan, the Azure Functions host dynamically adds and removes instances based on the number of incoming events.
1616

17-
[!INCLUDE [functions-linux-consumption-retirement](../../includes/functions-linux-consumption-retirement.md)]
18-
1917
The Consumption plan automatically scales, even during periods of high load. When you run functions in a Consumption plan, you pay for compute resources only when your functions are running. On a Consumption plan, a function execution times out after a configurable period of time. The Consumption plan is currently the only serverless hosting option that supports Windows.
2018

2119
## Billing

articles/azure-functions/functions-versions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Azure Functions currently supports only version 4.x of the runtime host.
2626
> [!IMPORTANT]
2727
> Versions 2.x and 3.x of the Azure Functions runtime are no longer supported. For more information, see [Retired versions](#retired-versions).
2828
29+
[!INCLUDE [functions-linux-consumption-retirement](../../includes/functions-linux-consumption-retirement.md)]
30+
2931
[Migrate apps from Azure Functions version 3.x to version 4.x](migrate-version-3-version-4.md).
3032

3133
## Levels of support
@@ -120,9 +122,7 @@ These versions of the Functions runtime reached end of extended support on Decem
120122

121123
Migrate your apps to version 4.x as soon as possible to get full support. For a complete set of language-specific migration instructions, see [Migrate apps to Azure Functions version 4.x](migrate-version-3-version-4.md).
122124

123-
Apps using versions 2.x and 3.x can still be created and deployed from your CI/CD DevOps pipeline, and all existing apps continue to run without breaking changes. But your apps aren't eligible for new features, security patches, and performance optimizations. You can only get related service support after you upgrade your apps to version 4.x.
124-
125-
Versions 2.x and 3.x are no longer supported because .NET Core 3.1, a core dependency, reached end of support. This requirement affects all [languages supported by Azure Functions](supported-languages.md).
125+
Apps using versions 2.x and 3.x can still be created and deployed from your CI/CD DevOps pipeline, and existing apps continue to run without breaking changes, except for v3 apps on Linux Consumption, which [will stop running after September 30, 2026](#retired-versions). Your apps aren't eligible for new features, security patches, and performance optimizations. You can only get related service support after you upgrade your apps to version 4.x.
126126
::: zone pivot="programming-language-csharp"
127127
## Locally developed application versions
128128

articles/azure-functions/migrate-version-3-version-4.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ ms.custom:
1919

2020
# Migrate apps from Azure Functions version 3.x to version 4.x
2121

22-
Azure Functions version 4.x is highly backwards compatible to version 3.x. Most apps should safely migrate to 4.x without requiring significant code changes. For more information about Functions runtime versions, see [Azure Functions runtime versions overview](./functions-versions.md).
23-
2422
> [!IMPORTANT]
2523
> As of December 13, 2022, function apps running on versions 2.x and 3.x of the Azure Functions runtime have reached the end of extended support. For more information, see [Retired versions](functions-versions.md#retired-versions).
2624
25+
Azure Functions version 4.x is highly backwards compatible to version 3.x. Most apps should safely migrate to 4.x without requiring significant code changes. For more information about Functions runtime versions, see [Azure Functions runtime versions overview](./functions-versions.md).
26+
27+
[!INCLUDE [functions-linux-consumption-retirement](../../includes/functions-linux-consumption-retirement.md)]
28+
2729
This article walks you through the process of safely migrating your function app to run on version 4.x of the Functions runtime. Because project migration instructions are language dependent, make sure to choose your development language from the selector at the top of the article.
2830

2931
## Identify function apps to migrate

articles/azure-functions/migration/migrate-aws-lambda-to-azure-functions.md

Lines changed: 45 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,59 @@ This article doesn't address:
3232
- Hosting AWS Lambda containers in Azure.
3333
- Fundamental Azure adoption approaches by your organization, such as [Azure landing zones](/azure/cloud-adoption-framework/ready/landing-zone/) or other topics addressed in the Cloud Adoption Framework [migrate methodology](/azure/cloud-adoption-framework/migrate/).
3434

35-
## Migration custom chat mode
35+
## Migrate with GitHub Copilot and Azure Skills
3636

37-
To make it easier to migrate your AWS Lambda apps to Azure using Visual Studio Code, Azure Functions provides a [custom chat mode](https://code.visualstudio.com/docs/copilot/customization/custom-chat-modes) in GitHub Copilot. Use these steps to add the `LambdaToFunctionMigration` custom chat mode to your project in Visual Studio Code:
37+
GitHub Copilot with Azure Skills has built-in support to guide migration from AWS Lambda to Azure Functions.
3838

39-
1. If you don't already have the [GitHub Copilot for Azure](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot) Visual Studio Code extension, install it now.
39+
You can use Copilot to automate most migration steps interactively, while using this article as your reference for architecture decisions, validation, and production readiness.
4040

41-
1. Open your Lambda project as a workspace in Visual Studio Code.
41+
To use Azure Skills in GitHub Copilot (in VS Code or Copilot CLI), follow these steps:
4242

43-
1. Run this prompt in **Agent** mode in GitHub Copilot:
43+
### Prerequisites
4444

45-
```copilot-prompt
46-
Help me migrate my Lambda app to Azure
45+
- **Node.js 18+** - required for MCP servers ([Download Node.js](https://nodejs.org/en/download/))
46+
- Access to an **Azure subscription** for creating and testing your migrated function app.
47+
- **Azure CLI (`az`)** installed and authenticated ([Install Azure CLI](/cli/azure/install-azure-cli)) (`az login`)
48+
- **Azure Developer CLI (`azd`)** installed and authenticated ([Install Azure Developer CLI](/azure/developer/azure-developer-cli/install-azd)) (`azd auth login`)
49+
50+
### For GitHub Copilot CLI
51+
52+
1. [Install Copilot CLI](https://github.com/github/copilot-cli)
53+
2. Add the marketplace source (first time only):
54+
```
55+
/plugin marketplace add microsoft/azure-skills
56+
```
57+
3. Install the plugin:
58+
```
59+
/plugin install azure@azure-skills
60+
```
61+
4. After install, reload MCP servers:
4762
```
63+
/mcp reload
64+
```
65+
5. Verify installation:
66+
```
67+
/mcp status
68+
```
69+
You should see the azure MCP server listed and running.
4870

49-
1. When prompted in the notification area, select **Install** to add the `LambdaToFunctionMigration` custom chat mode to your project.
50-
51-
You can now use guided prompts defined in this custom chat for each stage of your migration. Start typing `/LambdaMigration` in chat to see the complete list of available commands.
71+
### For Visual Studio Code
5272

53-
### Compare functionality
73+
1. [Install the Azure MCP extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-mcp-server) from the VS Code Marketplace (Extension ID: `ms-azuretools.vscode-azure-mcp-server`).
74+
2. The extension auto-installs a companion extension, GitHub Copilot for Azure, which contains the Azure skills.
75+
3. Open Copilot Chat (Ctrl+Shift+I / Cmd+Shift+I).
76+
4. Make sure you're in Agent mode (not Ask or Edit mode).
77+
5. Open the Command Palette (Ctrl+Shift+P) -> search "MCP" -> verify servers are listed and running.
78+
79+
Use this prompt to start and continue the migration workflow in Copilot:
80+
81+
```copilot-prompt
82+
Help me migrate my Lambda app to Azure Functions
83+
```
84+
85+
This prompt guides the migration in phases: first generating a detailed assessment report, then migrating code and configuration, and finally building the required infrastructure-as-code (IaC) assets for deployment to Azure.
86+
87+
## Compare functionality
5488

5589
This article maps AWS Lambda features to Azure Functions equivalents to help ensure compatibility.
5690

@@ -77,13 +111,6 @@ The first step is to conduct a detailed discovery process to evaluate your exist
77111
- Cost of ownership
78112
- Performance targets and current performance
79113

80-
> [!TIP]
81-
> Use this custom chat mode prompt to generate an assessment report for your AWS Lambda setup:
82-
>
83-
> ```copilot-prompt
84-
> /LambdaMigration-Phase1-AssessLambdaProject
85-
> ```
86-
87114
## Perform premigration planning
88115

89116
Before you start migrating your workload, you must map AWS Lambda features to Azure Functions to ensure compatibility and develop a migration plan. Then you can select key workloads for a proof of concept.
@@ -262,26 +289,13 @@ The following tables compare AWS Lambda concepts, resources, and properties with
262289

263290
1. Test iteratively and gather feedback.
264291

265-
> [!TIP]
266-
> Use this custom chat mode prompt to check the current status of the migration process at any time:
267-
>
268-
> ```copilot-prompt
269-
> /LambdaMigration-GetStatus
270-
> ```
271-
272292
Use the proof of concept to gather feedback, identify gaps, and fine-tune the process before you scale to larger workloads. This iterative approach ensures that by the time you move to full-scale migration, you address potential challenges and refine the process.
273293

274294
## Build the migration assets
275295

276296
This step is a transitional development phase. During this phase, you build source code, infrastructure as code (IaC) templates, and deployment pipelines to represent the workload in Azure. You must adapt function code for compatibility and best practices before you can perform the migration.
277297

278298
- [Adapt function code, configuration files, and infrastructure as code files](#adapt-function-code-configuration-files-and-infrastructure-as-code-files)
279-
> [!TIP]
280-
> Use this custom chat mode prompt to start the code migration process:
281-
>
282-
> ```copilot-prompt
283-
> /LambdaMigration-Phase2-MigrateLambdaCode
284-
> ```
285299
- [Adjust configuration settings](#adjust-configuration-settings)
286300
- [Generate IaC files](#generate-iac-files)
287301
- [Use tools for refactoring](#use-tools-for-refactoring)
@@ -614,13 +628,6 @@ Deployments follow a single path. After you build your project code and zip it i
614628

615629
- Use tools like Bicep, Azure Resource Manager templates, or Terraform to create IaC files to deploy Azure resources.
616630

617-
> [!TIP]
618-
> Use this custom chat mode prompt to generate infrastructure as code (IaC) files for Azure Functions:
619-
>
620-
> ```copilot-prompt
621-
> /LambdaMigration-Phase3-GenerateFunctionsInfra
622-
> ```
623-
624631
- Define resources such as Azure Functions, storage accounts, and networking components in your IaC files.
625632

626633
- Use this [IaC samples repository](https://github.com/Azure-Samples/azure-functions-flex-consumption-samples/tree/main/IaC) for samples that use Azure Functions recommendations and best practices.
@@ -629,9 +636,6 @@ Deployments follow a single path. After you build your project code and zip it i
629636

630637
Use tools like GitHub Copilot in VS Code for help with code refactoring, manual refactoring for specific changes, or other migration aids.
631638

632-
> [!NOTE]
633-
> Use *Agent mode* in GitHub Copilot in VS Code.
634-
635639
The following articles provide specific examples and detailed steps to facilitate the migration process:
636640

637641
- [Azure for AWS professionals](/azure/architecture/aws-professional)
@@ -647,13 +651,6 @@ Develop failover and failback strategies for your migration and thoroughly test
647651

648652
- Test each function thoroughly to ensure that it works as expected. These tests should include input/output, event triggers, and bindings verification.
649653

650-
> [!TIP]
651-
> Use this custom chat mode prompt to validate the migrated Azure Functions code:
652-
>
653-
> ```copilot-prompt
654-
> /LambdaMigration-Phase4-ValidateCode
655-
> ```
656-
657654
- Use tools like curl or [REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) extensions on VS Code to send HTTP requests for HTTP-triggered functions.
658655

659656
- For other triggers, such as timers or queues, ensure that the triggers fire correctly and the functions run as expected.
@@ -663,13 +660,6 @@ Develop failover and failback strategies for your migration and thoroughly test
663660
- Conduct performance testing to compare the new Azure Functions deployment with the previous AWS Lambda deployment.
664661

665662
- Monitor metrics like response time, run time, and resource consumption.
666-
667-
> [!TIP]
668-
> Use this custom chat mode prompt to validate the infrastructure configuration:
669-
>
670-
> ```copilot-prompt
671-
> /LambdaMigration-Phase5-ValidateInfra
672-
> ```
673663

674664
- Use Application Insights for [monitoring, log analysis, and troubleshooting](/azure/azure-functions/functions-monitoring) during the testing phase.
675665

@@ -685,13 +675,6 @@ Deploy and test functions to validate their performance and correctness.
685675

686676
### Deploy to Azure
687677

688-
> [!TIP]
689-
> Use this custom chat mode prompt to deploy the validated project to Azure:
690-
>
691-
> ```copilot-prompt
692-
> /LambdaMigration-Phase6-DeployToAzure
693-
> ```
694-
695678
Deploy workloads by using the [VS Code](/azure/azure-functions/functions-develop-vs-code#publish-to-azure) publish feature. You can also deploy workloads from the command line by using [Azure Functions Core Tools](/azure/azure-functions/functions-run-local#project-file-deployment) or the [Azure CLI](/cli/azure/functionapp/deployment/source#az-functionapp-deployment-source-config-zip). [Azure DevOps](/azure/azure-functions/functions-how-to-azure-devops#deploy-your-app) and [GitHub Actions](/azure/azure-functions/functions-how-to-github-actions) also use One Deploy.
696679

697680
- Azure Functions Core Tools: [Deploy your function app](/azure/azure-functions/flex-consumption-how-to#deploy-your-code-project) by using [Azure Functions Core Tools](/azure/azure-functions/functions-run-local) with the `func azure functionapp publish <FunctionAppName>` command.

articles/azure-resource-manager/bicep/toc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,7 @@ items:
627627
- name: Resource reference
628628
href: /azure/templates/
629629
- name: Bicep CLI
630-
displayName: build,decompile,decompile-params, format,generate-params,install,jsonrpc,lint,list-versions,list versions,publish,restore,upgrade,version,module,registry
630+
displayName: build,console,decompile,decompile-params, format,generate-params,install,jsonrpc,lint,list-versions,list versions,publish,restore,upgrade,version,module,registry
631631
href: bicep-cli.md
632632
- name: Azure CLI
633633
href: /cli/azure/resource

articles/cost-management-billing/reservations/reservation-renew.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.author: primittal
1313

1414
# Automatically renew reservations
1515

16-
You can renew reservations to automatically purchase a replacement when an existing reservation expires. Automatic renewal provides an easy way to continue getting reservation discounts. It also saves you from having to closely monitor a reservation's expiration. With automatic renewal, you prevent savings benefits loss by not having to manually renew. *The renewal setting is turned on by default* when you make a purchase. You can manually turn off the renewal setting at the time of purchase. After purchase, you can enable or disable the renewal setting anytime by selecting your reservation at Azure portal>Reservations, up to the expiration of the existing reservation. *When auto-renew is enabled, you have to manually turn it off to stop automatic renewal*.
16+
You can renew reservations to automatically purchase a replacement when an existing reservation expires. Automatic renewal provides an easy way to continue getting reservation discounts. It also saves you from having to closely monitor a reservation's expiration. With automatic renewal, you prevent savings benefits loss by not having to manually renew. *The renewal setting is turned on by default* when you make a purchase. You can manually turn off the renewal setting at the time of purchase. After purchase, you can enable or disable the renewal setting 48 hours before the expiry date time by selecting your reservation at Azure portal>Reservations, up to the expiration of the existing reservation. *When auto-renew is enabled, you have to manually turn it off to stop automatic renewal*.
1717

1818
The renewal price is available 30 days before the expiry of existing reservation. You can view the current rates and discounts by selecting your reservation at Azure portal>Reservations. When you enable renewal more than 30 days before the reservation expiration, you're sent an email detailing renewal costs before expiration. The reservation price might change between the time that you lock the renewal price and the renewal time. If so, your renewal will not be processed and you can purchase a new reservation in order to continue getting the benefit.
1919

articles/governance/policy/concepts/definition-structure-policy-rule.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -665,10 +665,15 @@ The following functions are only available in policy rules:
665665
```
666666

667667
- `http: //schemas.microsoft.com/identity/claims/objectidentifier`: returns the user (or object) ID associated with the request.
668-
```json
669-
"value": "[tryGet(requestContext().identity, 'http: //schemas.microsoft.com/identity/claims/objectidentifier')]",
670-
"in": ['userId']
671-
```
668+
```json
669+
"value": "[tryGet(requestContext().identity, 'http: //schemas.microsoft.com/identity/claims/objectidentifier')]",
670+
"in": ['userId']
671+
```
672+
673+
> [!WARNING]
674+
> When you use the `requestContext().identity` function, the policy engine marks the policy as `NotApplicable` for compliance evaluation/scans. As a result, compliance results for that policy show as `NotApplicable`, but enforcement of effects such as `Deny`, `DeployIfNotExists`, and `Modify` still occurs at request time.
675+
676+
672677
- `policy()`
673678
- Returns the following information about the policy that is being evaluated. Properties can be accessed from the returned object (example: `[policy().assignmentId]`).
674679

0 commit comments

Comments
 (0)