我从也需要 CloudQueue 绑定(bind)的 QueueTrigger 函数收到此错误。
Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:索引方法“QueueInstancesToImport.Run”出错 ---> System.InvalidOperationException:无法将队列绑定(bind)到类型“Microsoft.WindowsAzure.Storage.Queue”。云队列'。
根据文档 CloudQueue 应该有效。
https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue
我发现的其他潜在解决方案不完全匹配或没有帮助。
- C# Azure Functions: Can't use CloudQueue type as output binding
- Azure Function App: Can't bind Queue to type 'Microsoft.WindowsAzure.Storage.Queue.CloudQueue' (IBinder)
我的代码
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
...
}
}
最佳答案
这很可能是 nuget 包冲突。 “CloudQueue”参数所来自的程序集版本是与底层函数运行时使用的存储库版本不同的版本。 您可以在 CloudQueue 定义上按 F12 来查看它所绑定(bind)的完整程序集版本。
您很可能添加了对 Azure 存储 SDK 的额外引用。删除额外的引用,仅使用 Azure Functions 模板中的引用。
关于c# - Azure Functions无法将队列绑定(bind)到CloudQueue类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46812713/