You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/logic-apps/edit-app-settings-host-settings.md
+11-10Lines changed: 11 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: logic-apps
5
5
ms.suite: integration
6
6
ms.reviewer: estfan, azla
7
7
ms.topic: how-to
8
-
ms.date: 01/14/2024
8
+
ms.date: 03/14/2025
9
9
ms.custom: fasttrack-edit
10
10
---
11
11
@@ -27,20 +27,21 @@ In multitenant Azure Logic Apps, deployment depends on Azure Resource Manager te
27
27
28
28
In *single-tenant* Azure Logic Apps, deployment becomes easier because you can separate resource provisioning between apps and infrastructure. You can use *parameters* to abstract values that might change between environments. By defining parameters to use in your workflows, you can first focus on designing your workflows, and then insert your environment-specific variables later. You can call and reference your environment variables at runtime by using app settings and parameters. That way, you don't have to redeploy as often.
29
29
30
-
App settings integrate with Azure Key Vault. You can [directly reference secure strings](../app-service/app-service-key-vault-references.md), such as connection strings and keys. Similar to Azure Resource Manager templates (ARM templates), where you can define environment variables at deployment time, you can define app settings within your [logic app workflow definition](/azure/templates/microsoft.logic/workflows). You can then capture dynamically generated infrastructure values, such as connection endpoints, storage strings, and more. However, app settings have size limitations and can't be referenced from certain areas in Azure Logic Apps.
30
+
App settings integrate with Azure Key Vault. You can [directly reference secure strings](/azure/app-service/app-service-key-vault-references), such as connection strings and keys. Similar to Azure Resource Manager templates (ARM templates), where you can define environment variables at deployment time, you can define app settings within your [logic app workflow definition](/azure/templates/microsoft.logic/workflows). You can then capture dynamically generated infrastructure values, such as connection endpoints, storage strings, and more. However, app settings have size limitations and can't be referenced from certain areas in Azure Logic Apps.
31
31
32
32
> [!NOTE]
33
33
>
34
-
> If you use Key Vault, make sure that you store only secrets, such as passwords, credentials, and certificates.
35
-
> In a logic app workflow, don't use Key Vault to store non-secret values, such as URL paths, that the workflow designer needs to make calls.
36
-
> The designer can't dereference an app setting that references a Key Vault resource type, which results in an
37
-
> error and a failed call. For non-secret values, store them directly in app settings.
34
+
> If you use Azure Key Vault, make sure to store only secrets, such as passwords, credentials,
35
+
> and certificates. Don't use a key vault in a logic app workflow to store non-secret values,
36
+
> such as URL paths, that the workflow designer needs to make calls. The designer can't
37
+
> dereference an app setting that references an Azure Key Vault resource, which results
38
+
> in an error and a failed call. For non-secret values, store them directly in app settings.
38
39
39
40
For more information about setting up your logic apps for deployment, see the following documentation:
40
41
41
42
-[Create parameters for values that change in workflows between environments for single-tenant Azure Logic Apps](parameterize-workflow-app.md)
42
-
-[DevOps deployment overview for single-tenant based logic apps](devops-deployment-single-tenant-azure-logic-apps.md)
43
-
-[Set up DevOps deployment for single-tenant based logic apps](set-up-devops-deployment-single-tenant-azure-logic-apps.md)
43
+
-[DevOps deployment overview for single-tenant based logic apps](/azure/logic-apps/devops-deployment-single-tenant-azure-logic-apps)
44
+
-[Set up DevOps deployment for single-tenant based logic apps](/azure/logic-apps/set-up-devops-deployment-single-tenant-azure-logic-apps)
44
45
45
46
## Visual Studio Code project structure
46
47
@@ -54,15 +55,15 @@ In Visual Studio Code, at your logic app project's root level, the **local.setti
54
55
55
56
App settings in Azure Logic Apps work similarly to app settings in Azure Functions or Azure Web Apps. If you've used these other services before, you might already be familiar with app settings. For more information, review [App settings reference for Azure Functions](../azure-functions/functions-app-settings.md) and [Work with Azure Functions Core Tools - Local settings file](../azure-functions/functions-develop-local.md#local-settings-file).
56
57
57
-
For your workflow to run properly, some app settings are required.
58
+
The following table describes the app settings that your logic app uses. Some settings are required for your logic app to work correctly:
58
59
59
60
| Setting | Required | Value | Description |
60
61
|---------|----------|-------|-------------|
61
62
|`APP_KIND`| Yes |`workflowApp`| Required to set the app type for the Standard logic app resource. The value must be set to **`workflowApp`**. <br><br>**Note**: In some scenarios, this app setting might be missing, for example, due to automation using Azure Resource Manager templates or other scenarios where the setting isn't included. If certain actions don't work, such as the **Execute JavaScript Code** action, or if the workflow stops working, check that the **APP_KIND** app setting exists and is set to **`workflowApp`**. |
62
63
|`AZURE_AUTHORITY_HOST`| No | None | Sets the Standard logic app's default authority to use for OAuth authentication. |
63
64
|`AzureWebJobsStorage`| Yes | None | Required to set the connection string for an Azure storage account. For more information, see [AzureWebJobsStorage](../azure-functions/functions-app-settings.md#azurewebjobsstorage). |
64
65
|`FUNCTIONS_EXTENSION_VERSION`| Yes |`~4`| Required to set the Azure Functions version. For more information, see [FUNCTIONS_EXTENSION_VERSION](/azure/azure-functions/functions-app-settings#functions_extension_version). |
65
-
|`FUNCTIONS_WORKER_RUNTIME`| Yes |`dotnet`| Required to set the language worker runtime for your logic app resource and workflows. <br><br>**Note**: This setting's value was previously set to **`node`**, but now the required value is **`dotnet`** for all new and existing deployed Standard logic apps. This change shouldn't affect your workflow's runtime, so everything should work the same way as before. <br><br>For more information, see [FUNCTIONS_WORKER_RUNTIME](../azure-functions/functions-app-settings.md#functions_worker_runtime). |
66
+
|`FUNCTIONS_WORKER_RUNTIME`| Yes |`dotnet`| Required to set the language worker runtime for your logic app resource and workflows. <br><br>**Note**: This setting's value was previously set to **`node`**, but now the required value is **`dotnet`** for all new and existing deployed Standard logic apps. This change shouldn't affect your workflow's runtime, so everything should work the same way as before. <br><br>For more information, see [FUNCTIONS_WORKER_RUNTIME](/azure/azure-functions/functions-app-settings#functions_worker_runtime). |
66
67
|`ServiceProviders.Sftp.FileUploadBufferTimeForTrigger`| No |`00:00:20` <br>(20 seconds) | Sets the buffer time to ignore files that have a last modified timestamp that's greater than the current time. This setting is useful when large file writes take a long time and avoids fetching data for a partially written file. |
67
68
|`ServiceProviders.Sftp.OperationTimeout`| No |`00:02:00` <br>(2 min) | Sets the time to wait before timing out on any operation. |
68
69
|`ServiceProviders.Sftp.ServerAliveInterval`| No |`00:30:00` <br>(30 min) | Sends a "keep alive" message to keep the SSH connection active if no data exchange with the server happens during the specified period. |
Copy file name to clipboardExpand all lines: articles/logic-apps/includes/logic-apps-single-tenant-project-structure-visual-studio-code.md
+38-26Lines changed: 38 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,50 +3,62 @@ ms.service: azure-logic-apps
3
3
ms.topic: include
4
4
author: ecfan
5
5
ms.author: estfan
6
-
ms.date: 10/23/2024
6
+
ms.date: 03/14/2025
7
7
---
8
8
9
9
In Visual Studio Code, your logic app project has either of the following types:
10
10
11
11
* Extension bundle-based (Node.js), which is the default type
12
12
* NuGet package-based (.NET), which you can convert from the default type
13
13
14
-
Based on these types, your project includes slightly different folders and files. A NuGet-based project includes a .bin folder that contains packages and other library files. A bundle-based project doesn't include the .bin folder and other files. Some scenarios require a NuGet-based project for your app to run, for example, when you want to develop and run custom built-in operations. For more information about converting your project to use NuGet, review [Enable built-connector authoring](../create-single-tenant-workflows-visual-studio-code.md#enable-built-in-connector-authoring).
14
+
Based on these types, your project might include slightly different folders or files. For example, a Nuget package-based project has a **.bin** folder that contains packages and other library files. An extension bundle-based project doesn't include this **.bin** folder.
15
15
16
-
For the default bundle-based project, your project has a folder and file structure that is similar to the following example:
16
+
Some scenarios require a NuGet package-based project for your app to run, for example, when you want to develop and run custom built-in operations. For more information about converting your project to use NuGet, review [Enable built-connector authoring](/azure/logic-apps/create-single-tenant-workflows-visual-studio-code#enable-built-in-connector-authoring).
17
+
18
+
The default extension bundle-based project has a folder and file structure that is similar to the following example:
17
19
18
20
```text
19
-
MyBundleBasedLogicAppProjectName
20
-
| .vscode
21
-
| Artifacts
22
-
|| Maps
23
-
||| MapName1
21
+
MyWorkspaceName
22
+
| MyBundleBasedLogicAppProjectName
23
+
|| .vscode
24
+
|| Artifacts
25
+
||| Maps
26
+
|||| MapName1
27
+
|||| ...
28
+
||| Rules
29
+
||| Schemas
30
+
|||| SchemaName1
31
+
|||| ...
32
+
|| lib
33
+
||| builtinOperationSdks
34
+
|||| JAR
35
+
|||| net472
36
+
||| custom
37
+
|| WorkflowName1
38
+
||| workflow.json
24
39
||| ...
25
-
|| Schemas
26
-
||| SchemaName1
40
+
|| WorkflowName2
41
+
||| workflow.json
27
42
||| ...
28
-
| WorkflowName1
29
-
|| workflow.json
30
-
|| ...
31
-
| WorkflowName2
32
-
|| workflow.json
33
-
|| ...
34
-
| workflow-designtime
35
-
| .funcignore
36
-
| connections.json
37
-
| host.json
38
-
| local.settings.json
43
+
|| workflow-designtime
44
+
||| host.json
45
+
||| local.settings.json
46
+
|| .funcignore
47
+
|| connections.json
48
+
|| host.json
49
+
|| local.settings.json
39
50
```
40
51
41
-
At your project's root level, you can find the following files and folders with other items:
52
+
At your project's root level, you can find the following folders and files along with other items:
42
53
43
54
| Name | Folder or file | Description |
44
55
|------|----------------|-------------|
45
56
|**.vscode**| Folder | Contains Visual Studio Code-related settings files, such as **extensions.json**, **launch.json**, **settings.json**, and **tasks.json** files. |
46
-
|**Artifacts**| Folder | Contains integration account artifacts that you define and use in workflows that support business-to-business (B2B) scenarios. For example, the example structure includes maps and schemas for XML transform and validation operations. |
57
+
|**Artifacts**| Folder | Contains integration account artifacts that you define and use in workflows that support business-to-business (B2B) scenarios. <br><br>For example, the sample structure includes the following folders: <br><br>- **Maps**: Contains [maps](/azure/logic-apps/logic-apps-enterprise-integration-maps) to use for XML transformation operations. <br><br>- **Schemas**: Contains [schemas](/azure/logic-apps/logic-apps-enterprise-integration-schemas) to use for XML validation operations. <br><br>- **Rules**: Artifacts for [business rules in rules-based engine projects](/azure/logic-apps/rules-engine/rules-engine-overview). |
58
+
|**lib**| Folder | Contains supported assemblies that your logic app can use or reference. You can upload these assemblies to your project in Visual Studio Code, but you must add them to specific folders in your project. <br><br>For example, this folder includes the following folders: <br><br>- **builtinOperationSdks**: Contains the **JAR** and **net472** folders for Java and .NET Framework assemblies, respectively. <br><br>- **custom**: Contains .NET Framework custom assemblies. <br><br>For more information about supported assembly types and where to put them in your project, see [Add assemblies to your project](/azure/logic-apps/create-single-tenant-workflows-visual-studio-code#add-assembly). |
47
59
|**<*WorkflowName*>**| Folder | For each workflow, the <*WorkflowName*> folder includes a **workflow.json** file, which contains that workflow's underlying JSON definition. |
48
60
|**workflow-designtime**| Folder | Contains development environment-related settings files. |
49
-
|**.funcignore**| File | Contains information related to your installed [Azure Functions Core Tools](../../azure-functions/functions-run-local.md). |
61
+
|**.funcignore**| File | Contains information related to your installed [Azure Functions Core Tools](/azure/azure-functions/functions-run-local). |
50
62
|**connections.json**| File | Contains the metadata, endpoints, and keys for any managed connections and Azure functions that your workflows use. <br><br>**Important**: To use different connections and functions for each environment, make sure that you parameterize this **connections.json** file and update the endpoints. |
51
-
| **host.json** | File | Contains runtime-specific configuration settings and values, for example, the default limits for the single-tenant Azure Logic Apps platform, logic apps, workflows, triggers, and actions. At your logic app project's root level, the **host.json** metadata file contains the configuration settings and default values that *all workflows* in the same logic app use while running, whether locally or in Azure. <br><br>**Note**: When you create your logic app, Visual Studio Code creates a backup **host.snapshot.*.json** file in your storage container. If you delete your logic app, this backup file isn't deleted. If you create another logic app with the same name, another snapshot file is created. You can have only up to 10 snapshots for the same logic app. If you exceed this limit, you get the following error: <br><br>`Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host))` <br><br>To resolve this error, delete the extra snapshot files from your storage container. |
52
-
|**local.settings.json**| File | Contains app settings, connection strings, and other settings that your workflows use while running locally. In other words, these settings and values apply *only* when you run your projects in your local development environment. During deployment to Azure, the file and settings are ignored and aren't included with your deployment. <br><br>This file stores settings and values as *local environment variables* that are used by your local development tools as the `appSettings` values. You can call and reference these environment variables both at runtime and deployment time by using *app settings* and *parameters*. <br><br>**Important**: The **local.settings.json** file can contain secrets, so make sure that you also exclude this file from your project source control. |
63
+
| **host.json** | File | Contains runtime-specific configuration settings and values, for example, the default limits for the single-tenant Azure Logic Apps platform, logic apps, workflows, triggers, and actions. At your logic app project's root level, the **host.json** metadata file contains the configuration settings and default values that *all workflows* in the same logic app use while running, whether locally or in Azure. For reference information, see [Edit app settings and host settings](/azure/logic-apps/edit-app-settings-host-settings#reference-host-json). <br><br>**Note**: When you create your logic app, Visual Studio Code creates a backup **host.snapshot.*.json** file in your storage container. If you delete your logic app, this backup file isn't deleted. If you create another logic app with the same name, another snapshot file is created. You can have only up to 10 snapshots for the same logic app. If you exceed this limit, you get the following error: <br><br>**`Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host))`** <br><br>To resolve this error, delete the extra snapshot files from your storage container. |
64
+
| **local.settings.json** | File | Contains app settings, connection strings, and other settings that your workflows use while running locally. These settings and values apply *only* when you run your projects in your local development environment. During deployment to Azure, the file and settings are ignored and aren't included with your deployment. <br><br>This file stores settings and values as *local environment variables* that your local development tools use for the **`appSettings`** values. You can call and reference these environment variables both at runtime and deployment time by using *app settings* and *parameters*. <br><br>**Important**: The **local.settings.json** file can contain secrets, so make sure that you also exclude this file from your project source control. This file also contains app settings that your logic app needs to work correctly. For reference information, see [Edit app settings and host settings](/azure/logic-apps/edit-app-settings-host-settings#reference-local-settings-json). |
So, if you have another workflow that calls the deleted workflow, you must resave the caller workflow to refresh the metadata for the recreated workflow. That way, the caller gets the correct information for the recreated workflow. Otherwise, calls to the recreated workflow fail with an **`Unauthorized`** error. This behavior also applies to workflows that use artifacts in integration accounts and workflows that call Azure functions.
0 commit comments