Skip to content

Commit c0e6b3a

Browse files
Merge pull request #299417 from TimShererWithAquent/us424061-12
Freshness Edit: Azure Functions (12 of several)
2 parents d1b0733 + 29db4e7 commit c0e6b3a

File tree

1 file changed

+31
-30
lines changed

1 file changed

+31
-30
lines changed

articles/azure-functions/functions-recover-storage-account.md

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
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.
44
ms.topic: article
55
ms.custom: linux-related-content
6-
ms.date: 12/15/2022
6+
ms.date: 05/07/2025
77
---
88

99
# Troubleshoot error: "Azure Functions Runtime is unreachable"
@@ -12,13 +12,13 @@ This article helps you troubleshoot the following error string that appears in t
1212

1313
> "Error: Azure Functions Runtime is unreachable. Click here for details on storage configuration."
1414
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).
1616

1717
The rest of this article helps you troubleshoot specific causes of this error, including how to identify and resolve each case.
1818

1919
## Storage account was deleted
2020

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.
2222

2323
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).
2424

@@ -30,19 +30,19 @@ In the preceding step, if you can't find a storage account connection string, it
3030

3131
### Required application settings
3232

33-
* Required:
34-
* [`AzureWebJobsStorage`](./functions-app-settings.md#azurewebjobsstorage)
35-
* Required for Elastic Premium and Consumption plan functions:
36-
* [`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`](./functions-app-settings.md)
37-
* [`WEBSITE_CONTENTSHARE`](./functions-app-settings.md)
33+
- Required:
34+
- [`AzureWebJobsStorage`](./functions-app-settings.md#azurewebjobsstorage)
35+
- Required for Elastic Premium and Consumption plan functions:
36+
- [`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`](./functions-app-settings.md#website_contentazurefileconnectionstring)
37+
- [`WEBSITE_CONTENTSHARE`](./functions-app-settings.md#website_contentshare)
3838

3939
For more information, see [App settings reference for Azure Functions](./functions-app-settings.md).
4040

4141
### Guidance
4242

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.
4646

4747
## Storage account credentials are invalid
4848

@@ -52,17 +52,17 @@ The previously discussed storage account connection strings must be updated if y
5252

5353
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:
5454

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.
5656

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).
5858

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).
6060

6161
## Daily execution quota is full
6262

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.
6464

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:
6666

6767
> "The Function App has reached daily usage quota and has been stopped until the next 24 hours time frame."
6868
@@ -72,28 +72,28 @@ To resolve this issue, remove or increase the daily quota, and then restart your
7272

7373
Your function app might be unreachable for either of the following reasons:
7474

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.
7676

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.
7878

7979
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.
8080

8181
To verify your ASE configuration:
8282

8383
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.
8585

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.
8787

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).
8989

9090
## Container errors on Linux
9191

9292
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:
9393

9494
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.
9595

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.
9797

9898
1. Check for any logged errors that indicate that the container is unable to start successfully.
9999

@@ -107,25 +107,26 @@ When the container image can't be found, you see a `manifest unknown` error in t
107107

108108
## App container has conflicting ports
109109

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:
111111

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.
114114

115115
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.
116116

117-
## Host ID collision
117+
## Host ID collision
118118

119119
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).
120120

121121
## Read-only app settings
122122

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.
124124

125125
## ASP.NET authentication overrides
126-
_Applies only to C# apps running [in-process with the Functions host](./functions-dotnet-class-library.md)._
127126

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'.`
129130

130131
## Next steps
131132

0 commit comments

Comments
 (0)