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/azure-functions/functions-recover-storage-account.md
+31-30Lines changed: 31 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
title: 'Troubleshoot error: Azure Functions Runtime is unreachable'
3
-
description: Learn how to troubleshoot an invalid storage account.
3
+
description: Learn how to troubleshoot an invalid storage account. It describes various causes for a specific runtime error.
4
4
ms.topic: article
5
5
ms.custom: linux-related-content
6
-
ms.date: 12/15/2022
6
+
ms.date: 05/07/2025
7
7
---
8
8
9
9
# Troubleshoot error: "Azure Functions Runtime is unreachable"
@@ -12,13 +12,13 @@ This article helps you troubleshoot the following error string that appears in t
12
12
13
13
> "Error: Azure Functions Runtime is unreachable. Click here for details on storage configuration."
14
14
15
-
This issue occurs when the Functions runtime can't start. The most common reason for this is that the function app has lost access to its storage account. For more information, see [Storage account requirements](storage-considerations.md#storage-account-requirements).
15
+
This issue occurs when the Functions runtime can't start. The most common reason for this is that the function app lost access to its storage account. For more information, see [Storage account requirements](storage-considerations.md#storage-account-requirements).
16
16
17
17
The rest of this article helps you troubleshoot specific causes of this error, including how to identify and resolve each case.
18
18
19
19
## Storage account was deleted
20
20
21
-
Every function app requires a storage account to operate. If that account is deleted, your functions won't work.
21
+
Every function app requires a storage account that is used by the Functions host to operate. If that default host storage account is deleted, your function app won't run.
22
22
23
23
Start by looking up your storage account name in your application settings. Either `AzureWebJobsStorage` or `WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` contains the name of your storage account as part of a connection string. For more information, see [App settings reference for Azure Functions](./functions-app-settings.md#azurewebjobsstorage).
24
24
@@ -30,19 +30,19 @@ In the preceding step, if you can't find a storage account connection string, it
For more information, see [App settings reference for Azure Functions](./functions-app-settings.md).
40
40
41
41
### Guidance
42
42
43
-
* Don't check **slot setting** for any of these settings. If you swap deployment slots, the function app breaks.
44
-
* Don't modify these settings as part of automated deployments.
45
-
* These settings must be provided and valid at creation time. An automated deployment that doesn't contain these settings results in a function app that won't run, even if the settings are added later.
43
+
- Don't check **slot setting** for any of these settings. If you swap deployment slots, the function app breaks.
44
+
- Don't modify these settings as part of automated deployments.
45
+
- These settings must be provided and valid at creation time. An automated deployment that doesn't contain these settings results in a function app that doesn't run, even if the settings are added later.
46
46
47
47
## Storage account credentials are invalid
48
48
@@ -52,17 +52,17 @@ The previously discussed storage account connection strings must be updated if y
52
52
53
53
Your function app must be able to access the storage account. Common issues that block a function app's access to a storage account are:
54
54
55
-
* The function app is deployed to your App Service Environment (ASE) without the correct network rules to allow traffic to and from the storage account.
55
+
- The function app is deployed to your App Service Environment (ASE) without the correct network rules to allow traffic to and from the storage account.
56
56
57
-
* The storage account firewall is enabled and not configured to allow traffic to and from functions. For more information, see [Configure Azure Storage firewalls and virtual networks](../storage/common/storage-network-security.md?toc=%2fazure%2fstorage%2ffiles%2ftoc.json).
57
+
- The storage account firewall is enabled and not configured to allow traffic to and from functions. For more information, see [Configure Azure Storage firewalls and virtual networks](../storage/common/storage-network-security.md?toc=%2fazure%2fstorage%2ffiles%2ftoc.json).
58
58
59
-
* Verify that the `allowSharedKeyAccess` setting is set to `true`, which is its default value. For more information, see [Prevent Shared Key authorization for an Azure Storage account](../storage/common/shared-key-authorization-prevent.md?tabs=portal#verify-that-shared-key-access-is-not-allowed).
59
+
- Verify that the `allowSharedKeyAccess` setting is set to `true`, which is its default value. For more information, see [Prevent Shared Key authorization for an Azure Storage account](../storage/common/shared-key-authorization-prevent.md?tabs=portal#verify-that-shared-key-access-is-not-allowed).
60
60
61
61
## Daily execution quota is full
62
62
63
-
If you have a daily execution quota configured, your function app is temporarily disabled, which causes many of the portal controls to become unavailable.
63
+
If you have a daily execution quota configured, your function app is temporarily disabled, which causes many of the portal controls to become unavailable.
64
64
65
-
To verify the quota in the [Azure portal](https://portal.azure.com), select **Platform Features** > **Function App Settings** in your function app. If you're over the **Daily Usage Quota** you've set, the following message is displayed:
65
+
To verify the quota in the [Azure portal](https://portal.azure.com), select **Platform Features** > **Function App Settings** in your function app. If you're over the **Daily Usage Quota**that you set, the following message is displayed:
66
66
67
67
> "The Function App has reached daily usage quota and has been stopped until the next 24 hours time frame."
68
68
@@ -72,28 +72,28 @@ To resolve this issue, remove or increase the daily quota, and then restart your
72
72
73
73
Your function app might be unreachable for either of the following reasons:
74
74
75
-
* Your function app is hosted in an [internally load balanced App Service Environment](../app-service/environment/create-ilb-ase.md) and it's configured to block inbound internet traffic.
75
+
- Your function app is hosted in an [internally load balanced App Service Environment](../app-service/environment/create-ilb-ase.md) and it's configured to block inbound internet traffic.
76
76
77
-
* Your function app has [inbound IP restrictions](functions-networking-options.md#inbound-networking-features) that are configured to block internet access.
77
+
- Your function app has [inbound IP restrictions](functions-networking-options.md#inbound-networking-features) that are configured to block internet access.
78
78
79
79
The Azure portal makes calls directly to the running app to fetch the list of functions, and it makes HTTP calls to the Kudu endpoint. Platform-level settings under the **Platform Features** tab are still available.
80
80
81
81
To verify your ASE configuration:
82
82
83
83
1. Go to the network security group (NSG) of the subnet where the ASE resides.
84
-
1. Validate the inbound rules to allow traffic that's coming from the public IP of the computer where you're accessing the application.
84
+
1. Validate the inbound rules to allow traffic that's coming from the public IP of the computer where you're accessing the application.
85
85
86
-
You can also use the portal from a computer that's connected to the virtual network that's running your app or to a virtual machine that's running in your virtual network.
86
+
You can also use the portal from a computer that's connected to the virtual network that's running your app or to a virtual machine that's running in your virtual network.
87
87
88
-
For more information about inbound rule configuration, see the "Network Security Groups" section of [Networking considerations for an App Service Environment](../app-service/environment/network-info.md#network-security-groups).
88
+
For more information about inbound rule configuration, see [Networking considerations for an App Service Environment](../app-service/environment/network-info.md#network-security-groups).
89
89
90
90
## Container errors on Linux
91
91
92
92
For function apps that run on Linux in a container, the `Azure Functions runtime is unreachable` error can occur as a result of problems with the container. Use the following procedure to review the container logs for errors:
93
93
94
94
1. Navigate to the Kudu endpoint for the function app, which is located at `https://<FUNCTION_APP>.scm.azurewebsites.net`, where `<FUNCTION_APP>` is the name of your app.
95
95
96
-
1. Download the Docker logs .zip file and review the contents on your local computer.
96
+
1. Download the Docker logs .zip file and review the contents on your local computer.
97
97
98
98
1. Check for any logged errors that indicate that the container is unable to start successfully.
99
99
@@ -107,25 +107,26 @@ When the container image can't be found, you see a `manifest unknown` error in t
107
107
108
108
## App container has conflicting ports
109
109
110
-
Your function app might be in an unresponsive state due to conflicting port assignment upon startup. This can happen in the following cases:
110
+
Your function app might be in an unresponsive state due to conflicting port assignment upon startup. This situation can happen in the following cases:
111
111
112
-
* Your container has separate services running where one or more services are tying to bind to the same port as the function app.
113
-
* You've added an Azure Hybrid Connection that shares the same port value as the function app.
112
+
- Your container has separate services running where one or more services are tying to bind to the same port as the function app.
113
+
- You added an Azure Hybrid Connection that shares the same port value as the function app.
114
114
115
115
By default, the container in which your function app runs uses port `:80`. When other services in the same container are also trying to using port `:80`, the function app can fail to start. If your logs show port conflicts, change the default ports.
116
116
117
-
## Host ID collision
117
+
## Host ID collision
118
118
119
119
Starting with version 3.x of the Functions runtime, [host ID collision](storage-considerations.md#host-id-considerations) are detected and logged as a warning. In version 4.x, an error is logged and the host is stopped. If the runtime can't start for your function app, [review the logs](analyze-telemetry-data.md). If there's a warning or an error about host ID collisions, follow the mitigation steps in [Host ID considerations](storage-considerations.md#host-id-considerations).
120
120
121
121
## Read-only app settings
122
122
123
-
Changing any _read-only_[App Service application settings](../app-service/reference-app-settings.md#app-environment) can put your function app into an unreachable state.
123
+
Changing any *read-only*[App Service application settings](../app-service/reference-app-settings.md#app-environment) can put your function app into an unreachable state.
124
124
125
125
## ASP.NET authentication overrides
126
-
_Applies only to C# apps running [in-process with the Functions host](./functions-dotnet-class-library.md)._
127
126
128
-
Configuring ASP.NET authentication in a Functions startup class can override services that are required for the Azure portal to communicate with the host. This includes, but isn't limited to, any calls to `AddAuthentication()`. If the host's authentication services are overridden and the portal can't communicate with the host, it considers the app unreachable. This issue may result in errors such as: `No authentication handler is registered for the scheme 'ArmToken'.`.
127
+
*Applies only to C# apps running [in-process with the Functions host](./functions-dotnet-class-library.md).*
128
+
129
+
Configuring ASP.NET authentication in a Functions startup class can override services that are required for the Azure portal to communicate with the host. This includes, but isn't limited to, any calls to `AddAuthentication()`. If the host's authentication services are overridden and the portal can't communicate with the host, it considers the app unreachable. This issue might result in errors such as: `No authentication handler is registered for the scheme 'ArmToken'.`
0 commit comments