Azure函数无法绑定队列来键入CloudQueue

问题描述:

我从QueueTrigger函数中获取该错误,该函数也需要CloudQueue绑定。Azure函数无法绑定队列来键入CloudQueue

Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:错误索引方法 'QueueInstancesToImport.Run' ---> System.InvalidOperationException:无法绑定队列为类型“Microsoft.WindowsAzure.Storage.Queue.CloudQueue '

根据文档CloudQueue应该是有效的。我发现

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue

其他可能的解决方案不完全匹配或不帮助。

我的代码

public static class QueueFormInstancesToImport 
{ 
    [FunctionName("QueueFormInstancesToImport")] 
    public static async Task Run(
     [QueueTrigger("import-queue")]string message, 
     [Queue("import-queue")]CloudQueue queue, 
     TraceWriter traceWriter, 
     ExecutionContext context) 
    { 
     // Body of function 
     ... 
    } 
} 
+1

与您的问题没有直接关系,但是您是否确实希望触发器和输出针对相同的队列?这将创建一个无限循环的函数调用 –

+0

你的代码应该工作得很好。我闻到一些NuGet冲突。请检查您明确引用的唯一包是“Microsoft.NET.Sdk.Functions”。 – Mikhail

这很可能是一个NuGet包冲突。您的'CloudQueue'参数来自的汇编版本是与底层函数运行时使用的不同版本的stroage库。 CloudQueue定义上的F12可以查看它所绑定的完整程序集版本。

您很可能会添加对Azure存储SDK的额外引用。删除额外的引用并仅使用Azure函数模板中的引用。