azure-functions-host: Azure Functions just started breaking.

We had an azure function we created by hand, inside the azure function app instance (aka inside the portal). This morning around 7/27/2020 4:00 PM’ish CST, the function started breaking, no code change has been done to the function. The function app does use the extension per the documentation provided by microsoft. I think the Controller (azure function code) must have changed. Because, or azure function team did not update the extension bundle (the one that is added by default when you create a new azure function instance).

Here is the error: Microsoft.Azure.WebJobs.Host: Error indexing method ‘Functions.Bounce’. Microsoft.Azure.WebJobs.Extensions.Storage: Can’t bind Table to type ‘Microsoft.WindowsAzure.Storage.Table.CloudTable’.

Here is the stacktrace.

Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException : Error indexing method 'Functions.Bounce' ---> System.InvalidOperationException : Can't bind Table to type 'Microsoft.WindowsAzure.Storage.Table.CloudTable'.
at Microsoft.Azure.WebJobs.Host.Tables.TableAttributeBindingProvider.TryCreate(BindingProviderContext context) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Extensions.Storage\Tables\TableAttributeBindingProvider.cs : 60
at Microsoft.Azure.WebJobs.Host.Tables.TableAttributeBindingProvider.<>c_DisplayClass5_0.<TryCreateAsync>b0() at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Extensions.Storage\Tables\TableAttributeBindingProvider.cs : 84
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b_274_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread,ExecutionContext executionContext,ContextCallback callback,Object state)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread,ExecutionContext executionContext,ContextCallback callback,Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot,Thread threadPoolThread)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Host.Bindings.GenericCompositeBindingProvider`1.TryCreateAsync[TAttribute](BindingProviderContext context) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Bindings\BindingProviders\GenericCompositeBindingProvider.cs : 61
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Host.Bindings.CompositeBindingProvider.TryCreateAsync(BindingProviderContext context) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Bindings\BindingProviders\CompositeBindingProvider.cs : 25
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer.IndexMethodAsyncCore(MethodInfo method,IFunctionIndexCollector index,CancellationToken cancellationToken) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Indexers\FunctionIndexer.cs : 222
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer.IndexMethodAsync(MethodInfo method,IFunctionIndexCollector index,CancellationToken cancellationToken) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Indexers\FunctionIndexer.cs : 137
End of inner exception
at async Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer.IndexMethodAsync(MethodInfo method,IFunctionIndexCollector index,CancellationToken cancellationToken) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Indexers\FunctionIndexer.cs : 145
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer.IndexTypeAsync(Type type,IFunctionIndexCollector index,CancellationToken cancellationToken) at C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Indexers\FunctionIndexer.cs : 73

Note: If I remove the parameter and create a new tableClient and call tableClient.GetTableReference(…) , it works fines, but as soon as the parameter is added it’s broken with the above message

Check for a solution in the Azure portal

For issues in production, please check for a solution to common issues in the Azure portal before opening a bug. In the Azure portal, navigate to your function app => Platform features => Diagnose and solve problems and the relevant dashboards before opening your issue.

Investigative information

Please provide the following:

  • Timestamp: 2020-07-29T12:27:32.309
  • Function App version: 3
  • Function App name: test-url-shortner
  • Function name(s) (as appropriate): BounceBroken
  • Invocation ID: there is none, because it’s just giving me: 2020-07-29T12:27:32.309 [Error] run.csx(8,62): error CS0246: The type or namespace name ‘CloudTable’ could not be found (are you missing a using directive or an assembly reference?)
  • Region: EASTUS

Repro steps

Provide the steps required to reproduce the problem:

Expected behavior

Provide a description of the expected behavior.

Actual behavior

Provide a description of the actual behavior observed.

Known workarounds

Provide a description of any known workarounds.

Related information

Provide any related information

  • Programming language used
  • Links to source
  • Bindings used

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15 (9 by maintainers)

Most upvoted comments

Closing as answered.

@soninaren , this feels like a good candidate for a detector so this information is visible in the portal.