Strange error in V3 Function App in Azure Portal - azure

I have a V3 function app deployed to Azure, and on the OVERVIEW page I get this odd error message - "System.Runtime.Extensions: Value cannot be null. (Parameter 's')."
The function appears to be running and processing inputs, but if I go into FUNCTIONS, then I see another error message "Azure Functions runtime is unreachable."
Clicking on the "Functions runtime error" link in the Notifications section at the bottom of the OVERVIEW page does nothing - it doesn't provide any details on the error, or WHERE the error is being thrown.
Any ideas?

There might be many causes that exist for this kind of errors Azure Functions runtime is unreachable:
As mentioned in the troubleshooting steps of the above error in Microsoft Documentation, the most common reason for this is that the function app has lost access to its storage account.
One of the workaround I did here:
Created the Azure Function (.Net 3.1 Stack) - Premium Plan in the Azure Portal with HTTP Trigger, It is running successfully.
Below are the resources associated with this function app.
As stated in the above documentation to get that kind of runtime unreachable error, I deleted the storage account associated with this Function App.
After that deletion of the associated storage account, it has given the same error "Azure Functions Runtime is unreachable"
Recovered the deleted storage account and run the function again:
Make sure your storage account is not deleted which is associated with that function app, otherwise the function won't work.
Check the Storage account connection string to whether it is deleted or overridden. For example AzureWebJobsStorage is the local storage emulator connection string variable set in local.settings.json used in running the function locally. The same variable has a different value in the Azure portal used to run the function in azure. So, make sure that all the properties related to the storage account are available and correct.
If you set the firewall in the storage account and are not configured to allow traffic to and from functions, please allow it.
If your daily usage quota is full, then the function runtime will not work. To resolve this, increase or remove the daily quota limit and restart your function app. Otherwise, the execution of your function app is blocked until the next day.
Please check your function app has allowed your IP address in inbound IP restrictions, which might be configured to block internet access.
If your function is hosted in Internally load-balanced App Service Environment, please check the internal IP address is allowed because you might be configured to block inbound internet traffic so that the function runtime is unreachable.
Make sure you set the correct value of FUNCTIONS_EXTENSION_VERSION in Configuration (Application Settings) in the Azure Portal Function App as that is the function runtime version setting and refresh the function app/re-deploy the function.
As I created the Function App of .Net Core 3.1 Stack so the compatible function runtime version is 3.

Related

Azure functions scaling error on Azure portal

I get "getting Scale out issues detected Storage is not configured properly, Function scaling will be limited. Click to learn more." error in azure portal while in azure function apps.
It is on consumption model.
I followed the Microsoft guide-https://learn.microsoft.com/en-us/azure/azure-functions/functions-recover-storage-account#storage-account-was-deleted
and other answer here and added the missing values WEBSITE_CONTENTAZUREFILECONNECTIONSTRING and
WEBSITE_CONTENTSHARE(I only have AzureWebJobsStorage set right now).
When I then run my logic apps, all azure functions return 404 not found. I had to delete WEBSITE_CONTENTAZUREFILECONNECTIONSTRING and WEBSITE_CONTENTSHARE to make them work again.
My concern is how to fix this because we are also facing performance issues and I am not sure if this scaling issue is contributing to it?
AFAIK Below might be reasons for getting the error,
Region for storage account and function app are different.
Region for storage account and logic app are different.
App service plan is different for logic app and function app.
Check whether AzureWebJobsStorage and WEBSITE_CONTENTAZUREFILECONNECTIONSTRING values are same or not in standard logic app configuration.
Check the AzureWebJobsStorage in function app is matching with the value of AzureWebJobsStorage in standard logic app configuration.
Check below links that may helps you,
Reference link 1
Reference link 2

Encountered a StorageException while trying to fetch the diagnostic events

Out of nowhere started seeing this error when opened function apps, Application is working though.
Unable to retrieve diagnostics and error information for your function app.
Encountered a StorageException while trying to fetch the diagnostic events.
Please make sure the connection string in the app setting "AzureWebJobsStorage" has the permissions to access Azure Table Storage
Storage account network access is set to "Enabled from selected virtual networks and IP addresses". Even with this settings there was no error before.
but now the above error message is gone only when changed to "Enabled from all networks".
Recently updated functionapp to dotnet 6.0 and v4 runtime even after, there was no error. Not sure if this has anything to do with this.
How do I fix for this?
This was caused by a platform level alert raised by a diagnostic component, and although it had no impact on the production workloads, the verbiage wasn't clear and the level misleading. The event has been disabled and you should no longer see this come up.
To expand, this error was reported by the control plane for the diagnostic component, which is meant to surface diagnostic events raised by production components to the portal, but not involved in any production workload flow and had no impact on the App's functionality.
We noticed the same issue in several of our functionapps. We also have configured the functionapp to be able to access the storage account via a subnet in a vnet, which worked fine until a few days ago. The functionapp itself is still working as intended, but it started showing this message a few days ago. As a test we did 'Enable from all networks' on the storage account, which resolved the warning message. I suspect there is some other service besides the functionapp which needs access to the storage account to read the functionapp diagnostic information. If I would know which service we could grant it access to the storage account without needing to 'Enable from all networks'
I raised a support ticket with Microsoft regarding this issue and was told that there seems to be a platform issue for App Services in West Europe region and they are currently investigating.

Error "Subscription was not found" when trying to create Azure Function App in VS Code

I'm gettting rather weird error when attempting to create new Azure Function App with Azure Functions VS Code extension:
Subscription MY_SUB_GUID_HERE was not found.
No matter what I've tried: reloading VS Code, re-installing Azure Functions extension (incl. older versions), logging out from my MS account in browser, restarting PC, clearing TenantId in VS Code Azure Account extension, removing Azure Functions extension completely including its folder in C:\Users\USER_NAME\.vscode\extensions, signing out and back in via Azure Account extension, creating Azure Function application through the Azure portal incl. new resource group (I've found some old issue on GitHub which supposedly got fixed and one workaround was to create Azure func app through the portal first) - still the same error message, which occurs after selecting location, but actually in VS Code Log (Window) I can see that it fails immediately after 1st step (error code is SubscriptionNotFound + error message above) when you provide a unique name for the application.
At the same time, creating App Service, Resource Group, Static Web App all works like a charm through the corresponding extensions. Of course I see my subscription on Resources pane in VS Code and hence I'm saying that the error is a weird one.
OS: Windows 10 Pro x64 21H1, build 19043.1826
VS Code: 1.69.2
Azure Functions extension: 1.7.4
Azure subscription: free trial
Azure Functions version: ~4
.NET: 6.0
I cannot understand for love of god where the problem is - friend of mine tried it with his Visual Studio Enterprise subscription and it worked without any problem, so perhaps this is an account-related issue? Strange though that other things like App Service seem to work fine. I have "Owner" role for this subscription so it should not be due to the lack of rights or something similar.
Have you updated the az-cli?
e.g. az login or az logout?
What does az account show shows you?
You will be facing this issue because the Azure subscription is absolutely completely empty and the environment could not able to pick up your subscription.
Restart your environment after deploying a sample resource to your subscription.
Now that the subscription is not empty, It will be able to identify your subscription id. Additionally, confirm that your Azure free trial membership has not expired.

The account credentials for 'X' are incorrect (But connection string works on my machine)

We're trying to run an azure webjob console application outside of Azure. (This works fine)
We have successfully used this approach on another project as well.
We're getting the error:
The account credentials for 'X' are incorrect
This is when the web job starts. When connecting from datacenter to Azure (Blob) storage. using the AzureWebjobsDashboard / AzureWebjobsStorage connection strings.
Running the same application, with the same connection string from my local machine works. (Both are not inside Azure.
A similar weird behaviour is seen with the Azure Storage explorer, which I installed on the server where I can't connect. The storage explorer allows attaching to the account, and I can see queues and other stuff, but has trouble when I select Blob Containers (keeps loading...)
Trying the same thing on my local machine works fine as well. The storage explorer lists the blob containers and I can manage them there.
I'm using the account key based connection string, tried with a SAS token, but same error.
HTTPS ports are open, and win10/ recent .net versions are installed, ...
As mentioned in the comments, best way to diagnose these issues is to trace the request/response through a tool like Fiddler. You will get more detailed information about why the requests are failing.
For anyone else experiencing this issue, I found that the TLS version was the problem.
I forced my WebJob to use TLS 1.2 as this was the minimum TLS version for our storage account.
I did this by directly setting the security protocol in ServicePointManager
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Azure Traffic Manager support with Azure Function Apps

I am trying to use Azure Traffic Manager (GTM) to geographically distribute load to function apps in each region.
I have tried adding an 'app service endpoint' and an 'external endpoint' (including adding the GTM name as a custom CNAME to the function app), but both result in "Error 404 - Web app not found.". The custom CNAME also never adds correctly.
According to the last comment on this post, the ability to do this should now be supported:
Setting up a custom domain with an Azure Function app
I am unable to comment back on the post as I am a new user.
I have tried adding an 'app service endpoint' and an 'external endpoint' (including adding the GTM name as a custom CNAME to the function app)
Azure Traffic Manager is only eligible for use with App Services at the 'Standard' level or above as mentioned here. If your function isn't host in an app plan at the 'Standard' level or above, Azure Traffic Manager will not work.
If you are not using 'Standard' or higher level app plan, Azure Functions Proxies would be a workaround for you. Please check following thread which discuss the similar problem.
Azure Functions Traffic Manager
Here is the quick reference from the answer provided by Dakota Kincer.
So the answer I arrived to after Traffic manager didntsupport Azure functions was to overall build 3 Azure functions. I built an East and a West that has my azure function code on it. Then I built a main Azure Function that has 0 code. It only has Azure proxies on it that route to my 2 other Azure Functions. The route is controlled by a variable in the proxy string that is help in the main API app settings. Using %myvariable% you can set part of the url. When I need to publish I switch the variable to the secondary URL location. Update the Primary and then switch the URL to its original primary location. This will have to work for now till traffic manager is integrated into functions or a better solution arises.
I am unable to comment back on the post as I am a new user.
You could modify your post if you want to provide more information.
Traffic Manager supports Azure functions monitoring. You can enable this by going to TM settings -> endpoints -> add endpoint -> choose Azure endpoint type -> App Service for Target resource type -> under Target Resource choose Function app which you want to monitor.
Most likely you want to be able to access function apps under specific domain domain, for example my-domain.com. For that under Custom Header Settings specify host:my-domain.com. You'll need to setup custom domain in function apps configuration too.

Resources