Skip to content

Commit 365371d

Browse files
committed
More nested tabs fixes
1 parent 99ce975 commit 365371d

File tree

1 file changed

+48
-39
lines changed

1 file changed

+48
-39
lines changed

articles/azure-functions/migration/migrate-plan-consumption-to-flex.md

Lines changed: 48 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ The location of your project source files depends on the `WEBSITE_RUN_FROM_PACKA
670670

671671
---
672672

673-
#### [Azure CLI](#tab/azure-cli)
673+
#### [Linux](#tab/linux/azure-cli)
674674

675675
1. Use this [`az functionapp config appsettings list`](/cli/azure/functionapp/config/appsettings#az-functionapp-config-appsettings-list) command to get the `WEBSITE_RUN_FROM_PACKAGE` app setting, if present:
676676

@@ -683,8 +683,6 @@ The location of your project source files depends on the `WEBSITE_RUN_FROM_PACKA
683683
684684
1. If the `WEBSITE_RUN_FROM_PACKAGE` value is `1` or nothing, use this script to get the deployment package for the existing app:
685685
686-
##### [Linux](#tab/linux)
687-
688686
```azurecli
689687
appName=<APP_NAME>
690688
rgName=<RESOURCE_GROUP>
@@ -709,7 +707,20 @@ The location of your project source files depends on the `WEBSITE_RUN_FROM_PACKA
709707
fi
710708
```
711709
712-
##### [Windows](#tab/windows)
710+
Again, replace `<RESOURCE_GROUP>` and `<APP_NAME>` with your resource group name and app name. The package .zip file is downloaded to the directory from which you executed the command.
711+
712+
#### [Windows](#tab/windows/azure-cli)
713+
714+
1. Use this [`az functionapp config appsettings list`](/cli/azure/functionapp/config/appsettings#az-functionapp-config-appsettings-list) command to get the `WEBSITE_RUN_FROM_PACKAGE` app setting, if present:
715+
716+
```azurecli
717+
az functionapp config appsettings list --name <APP_NAME> --resource-group <RESOURCE_GROUP> \
718+
--query "[?name=='WEBSITE_RUN_FROM_PACKAGE'].value" -o tsv
719+
```
720+
721+
In this example, replace `<RESOURCE_GROUP>` and `<APP_NAME>` with your resource group name and app name, respectively. If this command returns a URL, then you can download the deployment package file from that remote location and skip to the next section.
722+
723+
1. If the `WEBSITE_RUN_FROM_PACKAGE` value is `1` or nothing, use this script to get the deployment package for the existing app:
713724
714725
```azurecli
715726
appName=<APP_NAME>
@@ -739,11 +750,9 @@ The location of your project source files depends on the `WEBSITE_RUN_FROM_PACKA
739750
fi
740751
```
741752
742-
---
743-
744753
Again, replace `<RESOURCE_GROUP>` and `<APP_NAME>` with your resource group name and app name. The package .zip file is downloaded to the directory from which you executed the command.
745754
746-
#### [Azure portal](#tab/azure-portal)
755+
#### [Linux](#tab/linux/azure-portal)
747756
748757
1. In the [Azure portal], search for or otherwise navigate to your function app page.
749758
@@ -753,30 +762,32 @@ The location of your project source files depends on the `WEBSITE_RUN_FROM_PACKA
753762
754763
1. If the `WEBSITE_RUN_FROM_PACKAGE` setting doesn't exist or is set to `1`, you must download the package from the specific storage account, which depends on whether you are running on Linux or Windows.
755764
756-
1. Get the storage account name from app settings:
757-
758-
##### [Linux](#tab/linux)
759-
760-
The `AzureWebJobsStorage` or `AzureWebJobsStorage__accountName` application setting. For a connection string, the `AccountName` is the name your storage account.
765+
1. Get the storage account name from the `AzureWebJobsStorage` or `AzureWebJobsStorage__accountName` application setting. For a connection string, the `AccountName` is the name your storage account.
761766
762-
##### [Windows](#tab/windows)
767+
1. In the portal, search for your storage account name.
763768
764-
The `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` contains the connection string for the deployment file share, where the `AccountName` is the name your storage account. Also, make a note of the `WEBSITE_CONTENTSHARE` value, which is the name of the files share.
765-
766-
---
769+
1. In the storage account page, locate the deployment package and download it.
767770
768-
1. In the portal, search for your storage account name.
771+
1. Expand **Data storage** > **Containers** and select `scm_releases`. Choose the file named `scm-latest-<APP_NAME>.zip` and select **Download**.
769772
770-
1. In the storage account page, locate the deployment package and download it:
773+
#### [Windows](#tab/windows/azure-portal)
771774
772-
##### [Linux](#tab/linux)
773-
774-
Expand **Data storage** > **Containers** and select `scm_releases`. Choose the file named `scm-latest-<APP_NAME>.zip` and select **Download**.
775-
##### [Windows](#tab/windows)
775+
1. In the [Azure portal], search for or otherwise navigate to your function app page.
776+
777+
1. In the left menu, expand **Settings** > **Environment variables** and see if a setting named `WEBSITE_RUN_FROM_PACKAGE` exists.
776778
777-
Expand **Data storage** > **File shares**, select the share name from `WEBSITE_CONTENTSHARE`, and browse to the `data\SitePackages` subfolder. Choose the most recent .zip file and select **Download**.
779+
1. If `WEBSITE_RUN_FROM_PACKAGE` exists, check if it's set to a value of `1` or a URL. If set to a URL, that is the URL of where the zip file for your app content. Download the zip file from that URL location that is owned by you.
780+
781+
1. If the `WEBSITE_RUN_FROM_PACKAGE` setting doesn't exist or is set to `1`, you must download the package from the specific storage account, which depends on whether you are running on Linux or Windows.
782+
783+
1. Get the storage account name from the `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` setting, where the `AccountName` is the name your storage account. Also, make a note of the `WEBSITE_CONTENTSHARE` value, which is the name of the file share.
784+
785+
1. In the portal, search for your storage account name.
786+
787+
1. In the storage account page, locate the deployment package and download it.
788+
789+
1. Expand **Data storage** > **File shares**, select the share name from `WEBSITE_CONTENTSHARE`, and browse to the `data\SitePackages` subfolder. Choose the most recent .zip file and select **Download**.
778790
779-
---
780791
---
781792
782793
The deployment package is compressed using the `squashfs` format. To see what's inside the package, you must use tools that can decompress this format.
@@ -809,17 +820,15 @@ A careful final review helps ensure a smoother migration process and minimizes t
809820
810821
### Step 2: Create an app in the Flex Consumption plan
811822
812-
There are various ways to create a function app in the Flex Consumption plan along with other required Azure resources:
823+
You can There are various ways to create a function app in the Flex Consumption plan along with other required Azure resources:
813824
814-
+ [Azure CLI](../create-first-function-cli-csharp.md#create-supporting-azure-resources-for-your-function)
815-
+ [Azure portal](../functions-create-function-app-portal.md)
816-
+ Infrastructure-as-code:
817-
+ [ARM template](../functions-create-first-function-resource-manager.md)
818-
+ [azd](../create-first-function-azure-developer-cli.md)
819-
+ [Bicep](../functions-create-first-function-bicep.md)
820-
+ [Terraform](../functions-create-first-function-terraform.md)
821-
+ [Visual Studio Code](../functions-develop-vs-code.md#publish-to-azure)
822-
+ [Visual Studio](../functions-develop-vs.md#publish-to-azure)
825+
| Create option | Reference articles |
826+
| ----- | ----- |
827+
| Azure CLI | [Command line quickstart](../create-first-function-cli-csharp.md#create-supporting-azure-resources-for-your-function)|
828+
| Azure portal | [Create a function app in the Azure portal](../functions-create-function-app-portal.md) |
829+
| Infrastructure-as-code | [ARM template](../functions-create-first-function-resource-manager.md)<br/>[azd](../create-first-function-azure-developer-cli.md)<br/>[Bicep](../functions-create-first-function-bicep.md)<br/>[Terraform](../functions-create-first-function-terraform.md) |
830+
| Visual Studio Code | [Visual Studio Code deployment](../functions-develop-vs-code.md#publish-to-azure) |
831+
| Visual Studio | [Visual Studio deployment](../functions-develop-vs.md#publish-to-azure) |
823832
824833
>[!TIP]
825834
>When possible, you should use Microsoft Entra ID for authentication instead of connection strings, which contain shared keys. Using managed identities is a best pratice that improves security by eliminating the need to store shared secrets directly in application settings. If your original app used connection strings, the Flex Consumption plan is designed to support managed identities. Most of these links show you how to enable managed identities in your function app.
@@ -1305,7 +1314,7 @@ If your original app had any IP-based inbound access restrictions, you can recre
13051314
13061315
##### [Azure CLI](#tab/azure-cli)
13071316

1308-
Use this [`az functionapp config access-restriction add`](cli/azure/functionapp/config/access-restriction#az-functionapp-config-access-restriction-add) command for each IP access restriction you want to replicate in the new app:
1317+
Use this [`az functionapp config access-restriction add`](/cli/azure/functionapp/config/access-restriction#az-functionapp-config-access-restriction-add) command for each IP access restriction you want to replicate in the new app:
13091318

13101319
```azurecli
13111320
az functionapp config access-restriction add --name <APP_NAME> --resource-group <RESOURCE_GROUP> \
@@ -1364,18 +1373,18 @@ Functions provides several ways to deploy your code, either from the code projec
13641373

13651374
You should update your existing deployment workflows to deploy your source code to your new app:
13661375

1367-
+ [Build and deploy using Azure Pipelines](./functions-how-to-azure-devops.md)
1368-
+ [Build and deploy using GitHub Actions](./functions-how-to-github-actions.md)
1376+
+ [Build and deploy using Azure Pipelines](../functions-how-to-azure-devops.md)
1377+
+ [Build and deploy using GitHub Actions](../functions-how-to-github-actions.md)
13691378

13701379
You can also create a new continuous deployment workflow for your new app. For more information, see [Continuous deployment for Azure Functions](../functions-continuous-deployment.md)
13711380

13721381
##### [Ad-hoc code deployment](#tab/ad-hoc-code)
13731382

13741383
You can use these tools to acheive a one-off deployment of your code project to your new plan:
13751384

1376-
+ [Visual Studio Code](../functions-develop-vs-code.md#deploy-project-files)
1385+
+ [Visual Studio Code](../functions-develop-vs-code.md#republish-project-files)
13771386
+ [Visual Studio](../functions-develop-vs.md#publish-to-azure)
1378-
+ [Azure Functions Core Tools](../functions-run-local.md#deploy-project-files)
1387+
+ [Azure Functions Core Tools](../functions-run-local.md#project-file-deployment)
13791388

13801389
#### [Package deployment](#tab/package)
13811390

0 commit comments

Comments
 (0)